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 的呈现?

用java做了一个简单的定时任务工程,不知道如何让它在服务器上运行起来?应该怎么做???

SwiftUI 中的 FSCalendar 集成

SwiftUI - 视图从框架底部展开

如何在没有按钮的 SwiftUI 中显示警报

如何在 swiftUI 中创建仅选择年份的 DatePicker,并且我希望它在预先指定的年份范围内?