ios - SwiftUI - 我可以在 iPhone 上显示标签栏,在 iPad 上显示侧边栏吗?
问题描述
我正在为 iOS 开发一个在 iPhone 和 iPad 上运行的 SwiftUI 应用程序。我想知道是否可以在 iPhone 上显示标签栏,但在 iPad 上显示垂直侧边栏以更好地利用大屏幕。选项卡栏和侧栏将具有相同的功能,在选项卡之间切换。它可能看起来像我在 twitter 上找到的这张图片,但我不需要它的 macOS 版本。谁能帮帮我?
解决方案
您需要添加条件检查,如下所示:
struct TabSideBar: View {
#if os(iOS)
@Environment(\.horizontalSizeClass) private var horizontalSizeClass
#endif
@ViewBuilder var body: some View {
#if os(iOS)
if horizontalSizeClass == .compact {
TabBarContentView()
} else {
SideBarContentView()
}
#else //MacOSView
SideBarContentView()
#endif
}
}
推荐阅读
- laravel - 如何将变量从控制器传递到 Nova Recource?
- react-native - React-native 发送错误请求
- python - 为什么函数被调用而不在 Python 中调用它?
- mysql - MYSQL 约束
- python - 导航到 url 时,出现错误:“urlopen() got an unexpected keyword argument 'headers'”
- runtime-error - 未捕获的 TypeError 无法读取未定义的属性 indexOf
- javascript - css 中的 mediaQueries 属性在 reactJS 中不起作用?
- reactjs - 打字稿 useState 预期 0 个参数,但得到 1
- c++ - 是否定义了 c++ 实现中的右移无符号类型
- python - 如何创建一个 DataFrame 将行按负 1 移动,包括上述行可能不存在的时间?