struct ContentView: View { @State private var isShowingDialog = false var body: some View { Button(action: { isShowingDialog = true }) { Label("削除ボタン", systemImage: "trash") }.confirmationDialog("注意!", isPresented: $isShowingDialog) { Button("削除する", role: .destructive){ destructiveAction() } Button("キャンセル", role: .cancel){ cancelAction() } } message: { Text("削除すると戻せません") } } func destructiveAction(){ print("削除が選ばれた") } func cancelAction(){ print("キャンセルが選ばれた") } }
### 確認ダイアログのタイトル表示
var body: some View { Button(action: { isShowingDialog = true }) { Label("削除ボタン", systemImage: "trash") }.confirmationDialog("注意!", isPresented: $isShowingDialog, titleVisibility: .visible) { Button("選択A"){ } Button("選択B"){ } Button("削除する", role: .destructive){ destructiveAction() } Button("キャンセル", role: .cancel){ cancelAction() } } message: { Text("メッセージ、メッセージ、メッセージ、メッセージ") + Text("メッセージ、メッセージ、メッセージ、メッセージ") } }
buttonのactionの箇所は何も記載がないが、ここに実行文を書くのね。