SwiftUI でアラートを表示する


SwiftUI でアラートを表示する方法です。 UIAlertController とはかなり書き方が異なります。 Property Wrapper の @State がまだ慣れません。

ShowAlert

ContentView.swift

import SwiftUI

struct ContentView: View {
    @State var showingAlert = false
    var body: some View {
        Button(action: {
            self.showingAlert = true
        }, label: {
            Text("Push Me!")
        }).alert(isPresented: self.$showingAlert) {
            Alert(
                title: Text("タイトル"),
                message: Text("メッセージ"),
                primaryButton: .default(Text("ボタンその1")) {
                    print("ボタンその1")
                }, secondaryButton: .destructive(Text("ボタンその2")) {
                    print("ボタンその2")
                })
        }
    }
}
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}