Ios 在SwiftUI中使用NavigationLink导航时如何隐藏选项卡栏?
我有一个选项卡视图,其中有两个选项卡,每个选项卡包含一个NavigationView。当导航到另一个视图时,我需要隐藏Ios 在SwiftUI中使用NavigationLink导航时如何隐藏选项卡栏?,ios,swiftui,Ios,Swiftui,我有一个选项卡视图,其中有两个选项卡,每个选项卡包含一个NavigationView。当导航到另一个视图时,我需要隐藏选项卡栏。一种解决方案是将选项卡视图放在一个NavigationView中,但我必须为每个NavigationView设置不同的属性 TabView(selection: $selectedTab, content: { NavigationView { VStack { Naviga
选项卡栏
。一种解决方案是将选项卡视图
放在一个NavigationView中,但我必须为每个NavigationView设置不同的属性
TabView(selection: $selectedTab, content: {
NavigationView {
VStack {
NavigationLink(destination: Text("SecondView Tab1")) {
Text("Click")
}
}
}.tabItem {
Text("ONE")
}.tag(0)
NavigationView {
VStack {
NavigationLink(destination: Text("SecondView Tab2")) {
Text("Click")
}
}
}.tabItem {
Text("TWO")
}.tag(1)
})
另外,我正在使用Xcode 11 Beta 5据我所知,您无法隐藏选项卡栏。如果您的导航视图是作为子视图列出的,您的选项卡栏包含您的导航视图。有点晚了,但它可以工作,将NavigationView置于选项卡视图之前,在选项卡视图中使用导航链接时,选项卡按钮将被隐藏
NavigationView{
TabView{
...
}
}
我对此也有同样的问题; 我采取了以下措施来解决这个问题:
NavigationView包含选项卡视图和隐藏导航栏
看看这个,我在这里发布了一个解决这个限制的方法:我发现的最佳答案这会带来意想不到的后果
// root tab
NavigationView {
TabView {
// some
}
.navigationBarTitle(xxx, displayMode: .inline)
.navigationBarHidden(true)
}
// custom navigation view
@available(iOS 13.0.0, *)
struct MyNavigationView: View {
var body: some View {
HStack {
Spacer()
Text(some)
Spacer()
}
.frame(height: 44)
}
}
// this view
VStack {
MyNavigationView()
Image(some)
.resizable()
.frame(width: 100, height: 100, alignment: .top)
.padding(.top, 30)
Spacer()
HStack {
ClockView()
Spacer()
NavigationLink(
destination: DynamicList(),
label: {
Image(some)
}).navigationBarHidden(true)
}
.padding(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15))
Spacer()
}
// next view
var body: some View {
VStack {
List {
MyNavigationView()
ForEach(date, id: \.self) { model in
Text(model)
}
}
.navigationBarHidden(true)
.navigationBarTitle(some, displayMode: .inline)
}
}