我有两个视图,它们各自包含一个带标题的NavigationView。我创建了一个TabBar View,它也有一个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)
}
我已尝试隐藏此视图的navigationBar,但无效。只有此视图的navigationBar出现。
这是MainContentView()
。
struct MainContentView: View {
var body: some View {
NavigationView {
Text("Some Content View")
}
.navigationBarTitle("Travel")
}
有什么想法如何着手处理这个问题。谢谢!
更新: 基本上,当我点击一个登录按钮时,我通过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)
在执行此操作时,它显示了具有子视图的TabbarView(),这是我看到的内容:
"Travel"上方的空间(childView的navigationBarTitle)是tabbar的navigationBar,因为我将其推入了navigationStack。
TabView
本身上添加edgesIgnoringSafeArea(.top)
。 - tomcullyhidesBottomBarWhenPushed
完成的,据我所知,目前在SwiftUI中不可用。将TabView
嵌套在NavigationView
中并不是允许隐藏选项卡栏的方法。 - graycampbell