在装有 iPadOS 18.1 的 iPad 中运行应用程序,它会以不同的布局和位置显示 TabView。
我想保持底部 TabView 使用全宽和图标。 Apple 是否正在删除旧样式并迫使我们实现自定义 TabView,或者使用新样式?
我已经尝试过Apple文档中的样式,但没有一个修复它。
https://developer.apple.com/documentation/swiftui/tabviewstyle
Apple 是否正在删除旧样式并强迫我们实现自定义 TabView,或者使用新样式?
正确。有关选项卡栏的平台注意事项,请参阅人机界面指南。
从iPadOS 18开始,系统在屏幕顶部附近显示一个标签栏。您可以选择让选项卡栏显示为固定元素,或包含一个将其转换为侧边栏的按钮。
iOS 18 的发行说明也提到了这一点:
在 iPad 上,使用
样式的TabView
在常规水平尺寸类别中具有新的外观。选项卡栏现在显示在顶部,而不是底部,视觉外观更加紧凑。automatic
由于这表示“在常规水平尺寸类别中”,因此可以通过将环境值设置为
.compact
来恢复旧样式。
TabView {
Tab("Foo", systemImage: "globe") {
Text("Foo")
}
Tab("Bar", systemImage: "gear") {
Text("Bar")
}
}
.environment(\.horizontalSizeClass, .compact)
但我想这会在以后引起问题。最好遵循 HIG。