【发布时间】:2020-10-12 22:14:28
【问题描述】:
我试图弄清楚如何通过按钮警报导航到我的辅助屏幕。首先,用户通过主屏幕中的文本字段输入一些字段。
在此屏幕的底部,用户按下提交按钮,然后会弹出一个警报,询问他们是否希望被带到辅助屏幕或取消不被带到。所有通过主屏幕输入的字段然后都会传递到辅助屏幕。如有必要,用户可以选择在辅助屏幕中导航回主屏幕。
这是我尝试过的:
struct View1: View {
@State var txtField1 : String = ""
@State var txtField2: String = ""
@State var txtField3: String = ""
@State var txtField4: String = ""
@State var txtField5 : String = ""
@State private var showingAlert = false
@State private var showingView = false
var body: some View {
HStack{
Button(action: {
self.showingAlert = true
}) {
Text("Submit")
.alert(isPresented:$showingAlert) {
Alert(title: Text("Would you like to go to second screen?"), message: Text("The second screen will pass all data from the first screen."), primaryButton:.destructive(Text("Continue")){
self.showingView = true
}, secondaryButton: .cancel(Text("Cancel")))
}
}
}.popover(isPresented: $showingView){
NavigationView{
View2(txtField1: self.$txtField1, txtField2: self.$txtField2, txtField3: self.$txtField4, txtField5: self.$txtField5)
}
}
使用上面的代码时,它会导航到我的辅助屏幕 (View2),但它就像一张纸。 View2 没有返回 View1 的导航属性,这就是我想要实现的。非常感谢您对此事的任何帮助,谢谢!
【问题讨论】:
标签: swiftui swiftui-navigationlink