我希望在用户从下一个屏幕导航时隐藏TabView底部的TabBar。
例如,我有一个TabView,其中包含两个tabItem,比如Home和Account,并且Home屏幕上有一个通知选项,如果用户点击通知,我希望同时导航到通知屏幕,同时隐藏TabView底部的Tab。有没有办法实现这一点?我找不到任何直接的SwiftUI方法来实现这一点。
import SwiftUI
struct MyRootScreen: View {
var body: some View {
TabView {
NavigationView {
HomeScreen()
}
.tabItem {
Image(systemName: "house")
}
Text("Account")
.tabItem {
Image(systemName: "person")
}
}
}
}
struct HomeScreen: View {
@State private var showNotification: Bool = false
var body: some View {
VStack {
Button {
showNotification = true
} label: {
Text("Show Notification")
}
}
.overlay {
NavigationLink("", isActive: $showNotification) {
Text("Notification Screen")
}
}
}
}
注意:我想在不将TabView包装到NavigationView中的情况下实现这一点。
.toolbar(showNotification ? .hidden : .visible, for: .tabBar)
。 - undefined