使い方の例(簡単な構文)
isPresentedにBool型変数をセットする、ボタン等でその変数の値が変わったときにポップアップされる。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
.alert("タイトル", isPresented: $Bool変数) { //Button設置でボタンのカスタマイズ可 Button("戻る等", role: .cancel) { //処理(省略するとキャンセルになる) } Button("削除等", role: .destructive) { //削除処理とか //roleで色が赤で警告的な表示になる、ただ処理は自分で書く } }message: { Text("説明とか") //タイトルの下に書くテキスト、messageから省略可 } |

ユーザーに入力させたい時&入力制限
TextFieldが設置可能
1 2 3 4 5 |
.alert("テキスト", isPresented: $Bool変数) { TextField("", value: $格納したい変数, format: .number) .keybordType(.decimalPad) //or (.numberPad) } //↑ format: .number とモディファイアの .keybordType で数値に入力制限できる。 |
条件分岐等で複数出したい時
Bool変数を複数使う
1 2 3 4 5 6 7 8 9 10 11 12 13 |
.alert("", isPresented: $変数1){ Button("OK"){ if ~{ 変数2.toggle() }else{ 変数3.toggle() } } } .alert("", isPresented: $変数2){ } .alert("", isPresented: $変数3){ } |
Toggle 使用時 Bool の片方だけの値で alert を出したい時
true false 両方で alert は反応するので onChange を挟む
1 2 3 4 5 6 7 8 |
Toggle("", isOn: 変数1) .onChange(of: 変数1){ if 変数1{ 変数2.toggle() } } .alert("", isPresented: $変数2){} //上のToggleがtrueの時だけ反応する |
コメント