アラート・ダイアログ
アラート
選択肢が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) {
}
}
}
}