[SwiftUI]TextFieldの文字を自動で小文字にするには?

SwiftUI

どうも、ちょげ(@chogetarou)です。

TextFieldで入力した文字を自動で小文字にする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

TextFieldの文字を自動で小文字にする方法は、2つあります。

textInputAutocapitalization

1つは、textInputAutocapitalizationを使う方法です。

まず、TextFieldにtextInputAutocapitalizationモディファイアを付与します。

そして、textInputAutocapitalizationモディファイアの引数に「.never」を指定します。

struct ContentView: View {
    @State var editingText = ""
    var body: some View {
        VStack{
            TextField("your text", text: $editingText)
                .textInputAutocapitalization(.never)
        }
    }
}

onEditingChanged

もう1つは、引数「onEditingChanged」を使う方法です。

まず、TextFieldの引数「onEditingChanged」にクロージャー({_ in })を指定します。

そして、クロージャの処理にテキストを小文字にする処理を追加します。

struct ContentView: View {
    @State var editingText = ""
    var body: some View {
        VStack{
            TextField("your text", text: $editingText, onEditingChanged: { _ in
                self.editingText = self.editingText.lowercased() //テキストを大文字に
            })    
        }
    }
}

まとめ

TextFieldの文字を自動で小文字にする方法は、次の2つです。

  • textInputAutocapitalizationを使う方法
  • onEditingChangedを使う方法

コメント

タイトルとURLをコピーしました