我开始对swiftUI有所了解。因此,我在导航视图中有一个简单的tabView,如下所示。
import SwiftUI
struct BasicView: View {
var climbList: [ClimbDetail]
var body: some View {
NavigationView{
VStack{
Text("").navigationBarTitle("Climbers Log", displayMode:.inline)
TabView {
Text("Search").tabItem{
Image(systemName:"magnifyingglass")
Text("Search")
}
Text("Stats").tabItem{
Image(systemName:"list.dash")
Text("Stats")
}
ClimbList(climbs: climbList).tabItem{
Image(systemName: "square")
Text("Climbs")
}
Text("Log").tabItem{
Image(systemName:"square.and.pencil")
Text("Log")
}
Text("Profile").tabItem{
Image(systemName:"person.circle")
Text("Profile")
}
Text("Settings").tabItem{
Image(systemName:"gear")
Text("Settings")
}
Text("Add Climb").tabItem{
Image(systemName:"plus")
Text("Add Climb")
}
}
}
}
}
}
通常它可以按预期工作,但是,由于我有7个标签,因此它在第5个标签的“更多”标签中显示。这对用户很好,很好。
但是,我的问题是,当您单击“更多”标签时,会出现一个标题栏,并以“更多”作为标题的编辑按钮。出现在我在上方设置的标题栏下方。
所以我的问题是,当用户位于“更多”选项卡上并且仅在其他选项卡中显示该标题栏时,如何隐藏它的标题栏?
答案 0 :(得分:0)
首先,感谢您的提问。我不知道Apple默认为TabBars提供太长时间提供更多页面。我一直都需要那个。
回到您的问题,您只需要重新排列。首先,使TabBar成为顶层。然后是NavigationView,这里是您的内容。稍后,您可以将每个视图外包到自己的文件中。
TabView {
NavigationView
{
VStack
{
Text("Search")
}
.navigationBarTitle("Climbers Log", displayMode:.inline)
}.tabItem {
Image(systemName:"magnifyingglass")
Text("Search")
}
每个视图都有自己的NavigationView ..然后它可以工作。