我有两个屏幕。第一个屏幕具有以下代码
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()
}
}}
第二个屏幕中的按钮会弹出到第一个屏幕,该按钮可以正常工作,但是一旦我回到第一个屏幕并单击
NavigationLink
,它就不会移至第二个屏幕。 最佳答案
这是一个解决方案。使用第一个屏幕上的按钮代替导航链接,然后使用该按钮弹出工作表。我测试了一下,对我有用!
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()
}
}
}
}
关于ios - 弹出式导航的导航在SwiftUI中不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59916561/