頭と尻尾はくれてやる!

iOSアプリなどの開発日記です


SwiftUIのTextFieldで指定の桁数で浮動小数点数を入力する

アプリでユーザーがあるFloatの値を設定できるようなSwiftUIのTextFieldを置きたい。
何桁入力されても意味ないので小数点以下の桁数を例えば2にしたい。

ようやく辿り着いた記述がこんな感じ。
TextField("",  value: $hoge, format: .number.precision(.fractionLength(2)))
.keyboardType(.decimalPad)
.textFieldStyle(RoundedBorderTextFieldStyle())
TextFieldだとformatter:ってコードがよく見つかるけどformat:ってのもあるんだな。
keyboardTypeをdecimalPadにすれば小数点の入力もできるキーボードが表示される。

入力時は0.12345とか可能ではあるが、TextFieldからフォーカスが外れるなどすると指定の桁数に丸めて表示される。かつ、実際の値を確認しても丸められてる。


↑動作時の様子。

なおキーボードを閉じるのは、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




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.