在 iOS / iPadOS 18.1 中保留旧的 TabView 样式

问题描述 投票:0回答:1

在装有 iPadOS 18.1 的 iPad 中运行应用程序,它会以不同的布局和位置显示 TabView。

我想保持底部 TabView 使用全宽和图标。 Apple 是否正在删除旧样式并迫使我们实现自定义 TabView,或者使用新样式?

New TabView in iPad OS - 18.1

我已经尝试过Apple文档中的样式,但没有一个修复它。

https://developer.apple.com/documentation/swiftui/tabviewstyle

ios swift swiftui ipad ipados
1个回答
5
投票

Apple 是否正在删除旧样式并强迫我们实现自定义 TabView,或者使用新样式?

正确。有关选项卡栏的平台注意事项,请参阅人机界面指南

从iPadOS 18开始,系统在屏幕顶部附近显示一个标签栏。您可以选择让选项卡栏显示为固定元素,或包含一个将其转换为侧边栏的按钮。

enter image description here

iOS 18 的发行说明也提到了这一点:

在 iPad 上,使用

TabView
样式的
automatic
在常规水平尺寸类别中具有新的外观。选项卡栏现在显示在顶部,而不是底部,视觉外观更加紧凑。

由于这表示“在常规水平尺寸类别中”,因此可以通过将环境值设置为

.compact
来恢复旧样式。

TabView {
    Tab("Foo", systemImage: "globe") {
        Text("Foo")
    }
    Tab("Bar", systemImage: "gear") {
        Text("Bar")
    }
}
.environment(\.horizontalSizeClass, .compact)

但我想这会在以后引起问题。最好遵循 HIG。

© www.soinside.com 2019 - 2024. All rights reserved.