[SwiftUI]Buttonでアラート(Alert)を表示するには?

SwiftUI

どうも、ちょげ(@chogetarou)です。

Buttonでアラートを表示する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Buttonでアラートを表示するには、変数とalertモディファイアを使います。

まず、Bool型の変数を用意します。

@State var isShowing = false;

次に、Buttonの引数「action」に変数をtrueにする処理を追加し、Buttonにalertモディファイアを付与します。

alertモディファイアの引数「isPresented」には、用意した変数の参照を渡します。

Button("Button"){
    isShowing = true;
}
.alert(isPresented: $isShowing){}

最後にalertモディファイアのクロージャーに表示するAlertを指定します。

Button("Button"){
    isShowing = true;
}
.alert(isPresented: $isShowing){
    Alert(/*Alertの設定*/)
}

使用例

以下は、使用例です。

import SwiftUI

struct SampleView: View {
    @State var isShowing = false;
    var body: some View {
        VStack{
            Button("Button"){
                isShowing = true;
            }
            .alert(isPresented: $isShowing){
                Alert(
                    title: Text("Title"),
                    message: Text("Message"),
                    dismissButton: .default(Text("OK"))
                )
            }
        }
    }
}

コメント

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