[SwiftUI]TextFieldにintをバインドするには?

SwiftUI

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

TextFieldの値として、int型の変数をバインドする方法を紹介します。

スポンサーリンク

方法

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

TextFieldにintをバインドするには、「TextField(label: value: formatter:)」を使います。

まず、TextFieldの第1引数にプレースホルダーを指定します。

そして、引数「value」にint型の変数のバインド、引数「formatter」にNumberFormatter()を指定します。

TextField("placeholder", value: $num, formatter: NumberFormatter())

イニシャライザ「TextField(label: value: formatter:)」を使うことで、TextFieldにintをバインドすることが出来ます。

int型の変数をバインドするので、変数に数値しか入力できないようにする必要があります。

キーボードの入力設定は、keyboardType修飾子を使います。

使用例

struct ContentView: View {
    
    @State var number = 0
    
    var body: some View {
        VStack {
            Text("\(number)")
                .padding()
            TextField("Input", value: $number, formatter: NumberFormatter())
                .keyboardType(.numberPad)
                .padding()
        }
    }
}

コメント

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