在下面的代码中,无论我将第二个附加到哪里,.actionSheet
我都无法使它们工作。我的理解是,只要他们执着于不同的观点,它就会起作用,但这个理论似乎并不正确。
struct ContentView: View {
@State private var showFirstActionSheet = false
@State private var showSecondActionSheet = false
var body: some View {
VStack{
VStack{
Button("Show Fist Action Sheet"){
showFirstActionSheet = true
}
.actionSheet(isPresented: $showFirstActionSheet) {
ActionSheet(title: Text("First Action Sheet"), message:
Text("Some message!"),
buttons: [
.destructive(Text("Cancel")){
},
.default(Text("Yes")){
doSomething()
},
.cancel()
])
}
}
}
.actionSheet(isPresented: $showSecondActionSheet) {
ActionSheet(title: Text("Second Action Sheet"), message:
Text("Some message!"),
buttons: [
.destructive(Text("Cancel")){
},
.default(Text("Yes")){
},
.cancel()
])
}
}
func doSomething(){
showSecondActionSheet = true
}
}
我尝试使用两个不同的按钮,它起作用了,但就我而言,我只有一个按钮触发第一个按钮,第二个按钮由第一个 actionSheet 触发。
知道处理这个问题的最佳方法是什么吗?