我试图在我的应用程序的某些页面上隐藏标签栏。根据此解决方案,我正在使用带有 Introspect 的 SwiftUI 。它可以完美地隐藏标签栏,但隐藏的标签栏仍然占用页面空间。
我想删除隐藏标签栏占用的空间 - 有没有办法做到这一点?
我尝试了一些 hacky 方法,例如设置偏移量或负填充,或者使用 edgesIgnoringSafeArea 然后重新添加填充,但这些似乎并不理想。
我也尝试使用“hidesBottomBarWhenPushed”,因为这是我希望达到的整体效果,但我没有找到一种方法来成功地使用 Introspect。
import SwiftUI
import Introspect
struct ContentView: View {
var body: some View {
TabView {
NavigationView {
View1()
}
.tabItem {
Label("Calendar", systemImage: "calendar")
}
}
}
}
struct View1: View {
var body: some View {
NavigationLink(
destination: DestinationView(),
label: {
Text("Navigate")
})
}
}
struct DestinationView: View {
var body: some View {
ZStack {
Color.yellow
VStack {
Spacer()
Text("Bottom of content")
}
}
.introspectTabBarController { (UITabBarController) in
UITabBarController.tabBar.isHidden = true
}
}
}