我有两个视图,每个视图都包含带有标题的NavigationView。我创建了一个TabBar视图,上面也带有NavigationView。
struct TabbarView: View {
var body: some View {
NavigationView{
TabView {
MainContentView()
.tabItem {
VStack {
Text("Main")
}
}.tag(0)
SearchContentView()
.tabItem {
VStack {
Text("Search")
}
}.tag(1)
}
}.navigationBarBackButtonHidden(true)
.navigationBarHidden(true)
}
Run Code Online (Sandbox Code Playgroud)
}
我曾尝试隐藏此视图的navigationBar,但这不起作用。仅此视图的导航栏出现。
这是 MainContentView()
struct MainContentView: View {
var body: some View {
NavigationView {
Text("Some Content View")
}
.navigationBarTitle("Travel")
}
Run Code Online (Sandbox Code Playgroud)
}
任何想法如何去做。谢谢!
更新:基本上,当我点击“ 登录”按钮时,我正在通过NavigationLink传递TabBarView()。
NavigationLink(destination: TabbarView()) {
HStack {
Text("Log In")
}
.padding()
.frame(width: geometry.size.width - 40, height: 40)
.foregroundColor(Color.white)
.background(Color.blue)
.cornerRadius(5)
}.padding(.bottom, 40)
Run Code Online (Sandbox Code Playgroud)
这样做时,它显示了带有子视图的TabbarView(),这就是我看到的:因为我将其推入navigationStack中,所以“旅行”(childView的navigationBarTitle)上方的空间就是该标签栏的navigationBar。