[英]How to hide the TabBar when navigate with NavigationLink in SwiftUI?
我有一個帶有 2 個選項卡的 TabView,每個選項卡都包含一個 NavigationView。 導航到另一個視圖時,我需要隱藏TabBar
。 一種解決方案是將TabView
放在一個 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)
})
PS 我正在使用 Xcode 11 Beta 5
有點晚,但它會起作用,將您的 NavigationView 放在 TabView 之前,當您在選項卡式視圖中使用導航鏈接時,選項卡按鈕將被隱藏。
NavigationView{
TabView{
...
}
}
我有一個帶有2個標簽的TabView,每個標簽都包含一個NavigationView。 導航到另一個視圖時,我需要隱藏TabBar
。 一種解決方案是將TabView
放在一個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)
})
PS我正在使用Xcode 11 Beta 5
我對此有同樣的問題; 我做了以下操作來解決這個問題:
NavigationView Contain a TabView
並Hidden the NavigationBar
// 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)
}
}
據我所知,如果您將導航視圖列為子項,則您無法隱藏標簽欄,您的標簽欄包含您的導航視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.