この記事では、ConfirmationDialogについて解説していきます。

ConfirmationDialogというのは、このようなダイアログのことです。
実装方法
以下のように記述します。
struct ContentView: View {
@State private var showingDialog = false
var body: some View {
Button("ダイアログ表示") {
self.showingDialog = true
}
.confirmationDialog("タイトル", isPresented: $showingDialog, titleVisibility: .visible) {
Button("選択肢1") {
// ここに選択肢1の処理
}
Button("選択肢2") {
// ここに選択肢2の処理
}
} message: {
Text("メッセージ")
}
}
}
注意
ConfirmationDialogは、iOS15から導入されたものなので、iOS14以下のOSもサポートしている場合は、if #available(iOS 15.0, *) {をつけなければなりません。
ちなみに、Buttonを以下のようにすると、赤文字で表示されます。
Button("削除", role: .destructive) {
}
キャンセルボタンは自動で生成されますが、自分で上書きしたい場合は、以下のように書きます。
Button("キャンセル", role: .cancel) {
}

