SwiftUIのTextFieldで指定の桁数で浮動小数点数を入力する
アプリでユーザーがあるFloatの値を設定できるようなSwiftUIのTextFieldを置きたい。
何桁入力されても意味ないので小数点以下の桁数を例えば2にしたい。
ようやく辿り着いた記述がこんな感じ。
keyboardTypeをdecimalPadにすれば小数点の入力もできるキーボードが表示される。
入力時は0.12345とか可能ではあるが、TextFieldからフォーカスが外れるなどすると指定の桁数に丸めて表示される。かつ、実際の値を確認しても丸められてる。
↑動作時の様子。
なおキーボードを閉じるのは、ZStackで1番奥のViewに以下のような感じでジェスチャーを設定してresignFirstResponderしてる。
何桁入力されても意味ないので小数点以下の桁数を例えば2にしたい。
ようやく辿り着いた記述がこんな感じ。
TextField("", value: $hoge, format: .number.precision(.fractionLength(2)))TextFieldだとformatter:ってコードがよく見つかるけどformat:ってのもあるんだな。
.keyboardType(.decimalPad)
.textFieldStyle(RoundedBorderTextFieldStyle())
keyboardTypeをdecimalPadにすれば小数点の入力もできるキーボードが表示される。
入力時は0.12345とか可能ではあるが、TextFieldからフォーカスが外れるなどすると指定の桁数に丸めて表示される。かつ、実際の値を確認しても丸められてる。
SwiftUIのTextFieldでFloat値を入力する様子。 pic.twitter.com/innlDzNBWx
— Tatsuya (@yt) February 24, 2022
↑動作時の様子。
なおキーボードを閉じるのは、ZStackで1番奥のViewに以下のような感じでジェスチャーを設定してresignFirstResponderしてる。
.onTapGesture {
UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
}
スポンサーサイト
<< ピクミンブルームですでにプレイしてないフレンドを探す方法 TopPage マイクラのmodでScreenにスライダーを置く >>
トラックバック
トラックバックURL
https://ringsbell.blog.fc2.com/tb.php/1376-358ae24c
https://ringsbell.blog.fc2.com/tb.php/1376-358ae24c