我在根视图中有一个TabBarView
。在嵌套在根视图中的一个父视图中,我希望在从该父视图导航到子视图时隐藏标签栏。有什么函数或命令可以处理这个问题吗?
大概是这样的ContentView (with TabBarView) - > ExploreView (Called in TabBarView ) -> MessagesView (Child of ExploreVIew - Hide Tab bar)
我的代码可以在下面看到。
TabView{
NavigationView{
GeometryReader { geometry in
ExploreView()
.navigationBarTitle(Text(""), displayMode: .inline)
.navigationBarItems(leading: Button(action: {
}, label: {
HStack{
Image("cityOption")
Text("BER")
Image("arrowCities")
}.foregroundColor(Color("blackAndWhite"))
.font(.system(size: 12, weight: .semibold))
}),trailing:
HStack{
Image("closttop")
.renderingMode(.template)
.padding(.trailing, 125)
NavigationLink(destination: MessagesView()
.navigationBarTitle(Text("Messages"), displayMode: .inline)
.navigationBarItems(trailing: Image("writemessage"))
.foregroundColor(Color("blackAndWhite"))
){
Image("messages")
}
}.foregroundColor(Color("blackAndWhite"))
)
}
}
.tabItem{
HStack{
Image("clostNav").renderingMode(.template)
Text("Explore")
.font(.system(size: 16, weight: .semibold))
}.foregroundColor(Color("blackAndWhite"))
}
SearchView().tabItem{
Image("search").renderingMode(.template)
Text("Search")
}
PostView().tabItem{
HStack{
Image("post").renderingMode(.template)
.resizable().frame(width: 35, height: 35)
}
}
OrdersView().tabItem{
Image("orders").renderingMode(.template)
Text("Orders")
}
ProfileView().tabItem{
Image("profile").renderingMode(.template)
Text("Profile")
}
}
感谢任何帮助!谢谢!
3条答案
按热度按时间7ivaypg91#
创建自定义显示视图控制器。swift -
在所需视图中使用此-
cx6n0qe32#
在iOS 16上,您可以使用ContentView().toolbar(.hidden,用于:.标签栏)
所以在你的例子中,它会像下面这样,
jogvjijk3#
在正常的iPhone环境中,如果你在导航,标签栏会自动消失...或者你在另一个环境中运行?
检查以下内容: