Ios 弹出和推送导航在SwiftUI中不工作?
我有两个屏幕。第一个屏幕有以下代码Ios 弹出和推送导航在SwiftUI中不工作?,ios,swift,swiftui,swiftui-navigationlink,Ios,Swift,Swiftui,Swiftui Navigationlink,我有两个屏幕。第一个屏幕有以下代码 NavigationLink(destination: SecondScreen()) { Text("Scan Qr Code") } NavigationLink导航到第二个屏幕,该屏幕按预期工作。在第二屏 struct SecondScreen: View { @Environment(\.presentationMode) var presentation v
NavigationLink(destination: SecondScreen()) {
Text("Scan Qr Code")
}
NavigationLink
导航到第二个屏幕,该屏幕按预期工作。在第二屏
struct SecondScreen: View {
@Environment(\.presentationMode) var presentation
var body: some View{
Button("Done") {
self.presentation.wrappedValue.dismiss()
}
}}
第二个屏幕中的按钮弹出到第一个屏幕,该屏幕按预期工作,但只要我回到第一个屏幕并单击导航链接,它就不会移动到第二个屏幕。这里有一个解决方案。使用第一个屏幕上的按钮而不是导航链接,然后使用该按钮弹出一张工作表。我测试了这个,它对我有效
struct ContentView: View {
@State private var showingAddExpense = false
var body: some View {
NavigationView{
Button(action: {
self.showingAddExpense = true
}) {
Text("Button")
}
.sheet(isPresented: $showingAddExpense) {
SecondScreen()
}
}
}
}
struct SecondScreen: View {
@Environment(\.presentationMode) var presentation
var body: some View{
NavigationView{
Button("Done") {
self.presentation.wrappedValue.dismiss()
}
}
}
}
它将第二个屏幕显示为一种模式,用户可以在我不想重复的情况下在其顶部滑动时取消该模式?这不是同一个众所周知的错误吗?