我刚刚将我的应用程序从 iOS 16 升级到 17,标签栏不再隐藏。
我隐藏了选项卡栏,因为我使用带有自定义选项卡栏的 TabView。
应用程序的入口点结构如下:
struct LandingView: View {
@State var selectedTab = 1
var body: some View {
ZStack(alignment: .bottom) {
NavigationStack {
TabView(selection: $selectedTab) {
CreateView()
.tag(1)
// ...
}
}
.toolbar(.hidden, for: .tabBar)
// Tab bar
}
}
}
从 iOS 16 到 17 有什么变化吗?升级之前它曾经可以工作。
我在 iOS 17 上遇到了类似的情况,切换选项卡几次后,TabBar 重新出现。
以下解决了我的情况:
在 init() 中隐藏 TabBar:
struct WhateverView: View {
init() {
UITabBar.appearance().isHidden = true
}
var body: some View {
删除所有出现的:
.toolbar(.hidden, for: .tabBar)