アラート・ダイアログ

Swift

アラート

選択肢が2つしかない場合はアラートを使います

struct ContentView: View {
    @State var isShowAlert = false

    var body: some View {
        VStack {
            Button("アラート") {
                isShowAlert = true
            }
            .padding()

        }
        .padding()
        .alert("本当に削除しますか", isPresented: $isShowAlert) {
            Button("削除する", role: .destructive) {  <--- 文字が赤くなります
                
            }
            Button("キャンセル", role: .cancel) {
                
            }
        } message: {
            Text("一度削除したらもとに戻すことはできません")
        }
    }
}

ダイアログ

選択肢が2つ以上ある場合は、アラートではなくダイアログをつかいます

struct ContentView: View {
    @State var isShowDialog = false

    var body: some View {
        VStack {
            Button("ダイアログ") {
                isShowDialog = true
            }
            .padding()
        }
        .padding()
        .confirmationDialog("タイトル", isPresented: $isShowDialog) {
            Button("選択肢1") {
            }
            Button("選択肢2") {
            }
            Button("選択肢3") {
            }
            Button("キャンセル", role: .cancel) {
            }
        }
    }
}
BACK