[SwiftUI]アラートの使い方②〜アラートの表示〜

スポンサーリンク
SwiftUI
スポンサーリンク

前回の記事「[SwiftUI]アラートの使い方①〜Alert構造体〜」

この記事では、前の記事で解説したAlert構造体を使って、アラートを表示する方法を解説します。

スポンサーリンク

アラートの表示方法

技術, コンピュータ, コード, Java スクリプトの設定, 開発者, プログラミング, プログラマ

アラートを表示するまでの流れは次のようになります。

  1. アラートを表示するかどうかの状態変数(Bool型)を用意
  2. 状態変数をアラートモディファイアにバインド
  3. 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構造体〜」

参考

金田 浩明「SwiftUI 徹底入門」

コメント

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