使用导航时 Swiftui 嵌套导航问题 link
Swiftui nested navigation issue while using navigation link
我的 swiftui 应用程序结构如下所示
- 导航视图(包含列表视图的登陆视图)
- 选择列表项时,导航 link 指向具有三个选项卡的选项卡视图(默认为第一个选项卡)
当我在选项卡视图屏幕内使用单独的独立导航 link 以编程方式定向到另一个屏幕时,它成功导航到提到的目的地,但我的绑定无法返回到上一个屏幕.
父视图
@State var showCameraPreviewView : Bool = false
ZStack{
Button("Show camera") {
showCameraPreviewView = true
}
NavigationLink(destination: CameraView(showCameraPreviewView: $showCameraPreviewView),isActive: $showCameraPreviewView){
EmptyView()
}
}
子视图
@Binding var showCameraPreviewView
Button("Assume capture success"){
self.showCameraPreviewView = false
}
在目标中将 showCameraPreviewView 绑定切换为 false 不会让我返回到当前屏幕。
看起来直截了当,但不起作用!我做错了什么吗?
我可以重现您的问题,很奇怪...似乎 showCameraPreviewView
的更改未被接受,因为视图仍然可见。但是我找到了 dismiss
:
的解决方法
编辑 iOS 14:
struct ChildView: View {
@Environment(\.presentationMode) var presentationMode
@Binding var show: Bool
var body: some View {
Button("Assume capture success"){
show = false
presentationMode.wrappedValue.dismiss()
}
}
}
我的 swiftui 应用程序结构如下所示
- 导航视图(包含列表视图的登陆视图)
- 选择列表项时,导航 link 指向具有三个选项卡的选项卡视图(默认为第一个选项卡)
当我在选项卡视图屏幕内使用单独的独立导航 link 以编程方式定向到另一个屏幕时,它成功导航到提到的目的地,但我的绑定无法返回到上一个屏幕.
父视图
@State var showCameraPreviewView : Bool = false
ZStack{
Button("Show camera") {
showCameraPreviewView = true
}
NavigationLink(destination: CameraView(showCameraPreviewView: $showCameraPreviewView),isActive: $showCameraPreviewView){
EmptyView()
}
}
子视图
@Binding var showCameraPreviewView
Button("Assume capture success"){
self.showCameraPreviewView = false
}
在目标中将 showCameraPreviewView 绑定切换为 false 不会让我返回到当前屏幕。 看起来直截了当,但不起作用!我做错了什么吗?
我可以重现您的问题,很奇怪...似乎 showCameraPreviewView
的更改未被接受,因为视图仍然可见。但是我找到了 dismiss
:
编辑 iOS 14:
struct ChildView: View {
@Environment(\.presentationMode) var presentationMode
@Binding var show: Bool
var body: some View {
Button("Assume capture success"){
show = false
presentationMode.wrappedValue.dismiss()
}
}
}