更新时间:2023-12-05 11:32:46
每个导航堆栈应该只有一个 NavigationView
.您需要删除除顶部的所有嵌套 NavigationView.在您的子视图中,您仍然可以修改顶部的视图.
There should only be one NavigationView
per navigation stack. You need to remove all nested NavigationViews except the top one. In your child views you still can modify the top one.
这是一个简单的演示:
struct LoginView: View {
@State private var active: Bool = false
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: HomeView(), isActive: self.$active) {
Text("Register")
}
}
.navigationBarTitle("Login View")
}
}
}
struct HomeView: View {
var body: some View {
Text("inside home view")
.navigationBarTitle("Home view")
.navigationBarBackButtonHidden(true)
}
}
在 Xcode 11.6、iOS 13.6 中测试.
Tested in Xcode 11.6, iOS 13.6.