同一按钮的SwiftUI多个警报
下面的代码仅显示错误警报。是否有方法使警报与IF条件匹配同一按钮的SwiftUI多个警报,swiftui,Swiftui,下面的代码仅显示错误警报。是否有方法使警报与IF条件匹配 @State var showTrueAlert = false @State var showFalseAlert = false var body: some View { Button(action: { let isTrue = Bool.random() if isTrue { self.showTrueAlert = true print
@State var showTrueAlert = false
@State var showFalseAlert = false
var body: some View {
Button(action: {
let isTrue = Bool.random()
if isTrue {
self.showTrueAlert = true
print("True Alert")
} else {
self.showFalseAlert = true
print("False Alert")
}
}) {
Text("Random Alert")
.font(.largeTitle)
}
.alert(isPresented: $showTrueAlert) {
Alert(title: Text("True"))
}
.alert(isPresented: $showFalseAlert) {
Alert(title: Text("False"))
}
}
只能对视图应用一次.alert。创建一个状态,该状态仅处理警报的当前状态,然后创建两个变量,确定按下的是false还是true。也可能只将其存储在一个变量中
struct ContentView6: View {
@State var showAlert : Bool = false
@State var showTrueAlert = false
@State var showFalseAlert = false
var body: some View {
Button(action: {
let isTrue = Bool.random()
if isTrue
{
self.showTrueAlert = true
self.showAlert = true
print("True Alert")
} else {
self.showFalseAlert = true
self.showAlert = true
print("False Alert")
}
}) {
Text("Random Alert")
.font(.largeTitle)
}
.alert(isPresented: Binding<Bool>(
get: {
self.showAlert
},
set: {
self.showAlert = $0
self.showTrueAlert = false
self.showFalseAlert = false
})) {
if (showTrueAlert)
{
return Alert(title: Text("True"))
}
else
{
return Alert(title: Text("False"))
}
}
}
}
这回答了你的问题吗?对这些链接非常有用。谢谢