※本記事は旧記事になります。より詳細に解説しているこちらの記事を是非ご覧ください。
今回は、アラート(ポップアップ)の表示方法についての手順を書いてみようと思います。SwiftUIでは「Alert」を使いますが、UIKitで言うところのUIAlertControllerにあたります。
SwiftUIでアラートを表示する方法
ボタン1つのみのコード例
struct ContentView: View {
@State private var isShowAlert = false
var body: some View {
Button(action: {
self.isShowAlert = true
}) {
Text("タップしてアラートを表示。")
}
.alert(isPresented: $isShowAlert) {
Alert(title: Text("タイトル"),
message: Text("アラートメッセージです。"),
dismissButton: .default(Text("OK")))
}
}
}
@StateプロパティのBool変数を定義し、Buttonのalertメソッドの「isPresented:」引数に紐づけています。
Buttonをタップした際のアクションでisShowAlertをtrueにすることで.alertの中かっこ内が実行され、Alertが表示される仕組みです。
以下、実行結果です。
選択肢アラートのコード例
続いて、2つのボタンがある選択アラートの表示例です。
struct ContentView: View {
@State private var isShowSelect = false
var body: some View {
VStack {
Button(action: {
self.isShowSelect = true
}) {
Text("タップしてアラートを表示。")
}
.alert(isPresented: $isShowSelect) {
Alert(title: Text("決断"),
message: Text("会社員辞めますか?"),
primaryButton: .default(Text("いいえ")),
secondaryButton: .default(Text("はい")) {
// 「はい」を選択した場合の処理
})
}
}
}
}
「primaryButton:」が左側のボタン、「secondaryButton:」が右側のボタンとなります。
以下、実行結果です。
連続でアラートを表示する方法が、まだちょっとわからないので、分かり次第追記しようと思います。
以上、SwiftUIのアラート表示方法でした。
コメントを残す