前回の記事「[SwiftUI]アラートの使い方①〜Alert構造体〜」
この記事では、前の記事で解説したAlert構造体を使って、アラートを表示する方法を解説します。
アラートの表示方法

アラートを表示するまでの流れは次のようになります。
- アラートを表示するかどうかの状態変数(Bool型)を用意
- 状態変数をアラートモディファイアにバインド
- alertモディファイアに表示させるAlert構造体を設定
alertモディファイアの定義を以下に示します。
func alert( isPresented : Binding<Bool>, content -> Alert ) -> some View
- isPresented: アラートが表示するかどうかの状態変数のバインドを受け取ります。
変数がtrueになった時、アラートを表示されます。 - content: Alert構造体をクロージャーで返す処理を記述します。
isPresenteでアラートの表示を管理し、contentに表示するAlert構造体を渡します。
alertは、ビューグループ(VStack 、HStackなど)などのような最も上層のビューに付けます。
以下は警告を出す例です。
@State var onAlert = false
var body: some View {
Button(action: {
onAlert.toggle()
}) {
Text("アラート")
}
.alert(isPresented: $onAlert) {
Alert(title: Text("警告"),
message: Text("この変更を行っていいですか?"),
dismissButton:.default(Text("OK") ,
action: {
onAlert.toggle()
}
)
)
}
}
isPresentedに「アラートを表示させるか」の、onAlert変数を渡しています。
onAlertはデフォルトがfalseで、ボタンをタップするとtrueになり表示されるようになっています。
ボタンをタップすると、次のようなアラートが表示されます。

まとめ
アラートを表示するのは、.alertモディファイアを使えばできます。
alertモディファイアには、表示・非表示を管理するBool型の変数とAlert構造体が必要です。
前回の記事「[SwiftUI]アラートの使い方①〜Alert構造体〜」
コメント