8.2_如何显示一个alert

创建一个基本的 SwiftUI alert 的代码如下:

Alert(title: Text("Important message"), message: Text("Wear sunscreen"), dismissButton: .default(Text("Got it!")))

它定义了一个标题和消息,就像我们在 UIAlertController 中看到的那样,然后添加了一个带有默认样式的 dismiss 按钮和文本 “Got it!“。

要显示该 alert,我们需要定义某种可绑定条件,以确定 alert 是否可见。然后将其作为演示附加到主视图中,在 alert 条件变为 true 的时候,立即显示 alert。

例如: 下面的代码创建一个 showingAlert 的布尔值,用于跟踪是否应该显示 “sunscreen message”,在点击按钮时将该布尔值设置为 true,然后使用该布尔值创建并附加一个 alert 视图,以便在点击按钮时显示:

struct ContentView: View {
    
    @State private var showingAlert = false
    
    var body: some View {
        Button(action: {
            self.showingAlert = true
        }, label: {
            Text("Show alert")
        })
        .alert(isPresented: $showingAlert,
               content: {
                Alert(title: Text("Important message"), message: Text("Wear sunscreen"), dismissButton: .default(Text("Got it!")))
        })
    }
}

效果演示: 8.2_show_alert

提示: 通过这种方式展示一个 alert,当按下关闭按钮时,会自动将 showingAlert 设置回 false。

Avatar
M X
Mobile, Front-End Developer

My research interests include swift developing, python developing and go developing.

Related

Next
Previous
comments powered by Disqus