SwiftUI Alert 如何让它在一个简单的 if 语句中工作?
Posted
技术标签:
【中文标题】SwiftUI Alert 如何让它在一个简单的 if 语句中工作?【英文标题】:SwiftUI Alert How do I get it to work in a simple if statement? 【发布时间】:2020-05-25 18:50:29 【问题描述】:这应该很简单,但我希望在条件为真时显示警报。(见下文)我见过很多你使用按钮触发警报的地方,但我只想在条件成立时触发警报例如在一个简单的“If”语句中满足。加载代码后应该立即出现。
import SwiftUI
struct ContentView: View
@State private var showingAlert = false
var score = 3
var body: some View
VStack
if score == 3
showingAlert = true
.alert(isPresented: $showingAlert)
Alert(title: Text("Hello SwiftUI!"), message: Text("This is some detail message"), dismissButton: .default(Text("OK")))
【问题讨论】:
【参考方案1】:您可以在视图的init()
方法中检查您的条件是否为真,然后设置您的showingAlert
的初始值。
struct ContentView: View
@State private var showingAlert = false
var score = 3
init()
//check if condition is true
if (true)
self._showingAlert = State(initialValue: true)
var body: some View
VStack
EmptyView()
.alert(isPresented: self.$showingAlert)
Alert(title: Text("Hello SwiftUI!"), message: Text("This is some detail message"), dismissButton: .default(Text("OK")))
【讨论】:
非常感谢。现在一切都说得通了!以上是关于SwiftUI Alert 如何让它在一个简单的 if 语句中工作?的主要内容,如果未能解决你的问题,请参考以下文章
在视图外触发时如何绑定 SwiftUI.Alert 的呈现?