ios - 带有 SwiftUI 的标签栏上方的额外导航视图
问题描述
我想做一些类似于 iOS 13 中的照片和播客应用程序中所做的事情。
这两个应用程序都有一个附加到标签栏的额外视图。在照片应用程序中,它是第二行导航,就像一个子菜单,它只出现在一个选项卡中。在 Podcasts 应用程序中,它是一个缩小的播放器,可在所有选项卡中使用。
使用 SwiftUI 时,我有哪些选择可以做这样的事情?有没有办法将额外的视图附加到标签栏?或者应该在每个 tabItem 中使用 ZStack 并在每个 ZStack 中复制我的额外视图?
解决方案
您可以在持久化(TabBar、NavigationView 等).overlay
上使用修饰符,例如:view
TabView { ,,, }
.overlay(
Rectangle()
.foregroundColor(.red)
.frame(width: 40, height: 40)
)
当然是正确的配置!这只是一个演示,以了解如何拥有持久视图。
您也可以定义自己的自定义修饰符并将其应用于标签栏。这里唯一重要的是将它应用于持久性view
。所以你不需要在每个视图中复制你的额外视图。
推荐阅读
- docker - 超过 Docker 内存限制
- java - 将 bytes[] 转换为 com.aspose.words.Document - Java API
- javascript - 无法在 textarea 中设置多行文本
- excel - 在 OR 函数中使用范围 (EXCEL)
- node.js - 我知道它的作用,但不知道如何......在 Express.js 中,'const app = express()' 行是如何工作的?
- python - 尝试在递归中处理更大的数字时冻结
- c++ - 目标名称“lib/process.bin”被保留或对某些无效
- python - 将包含字典的数据框单元格转换为具有新列 pandas 的数据框
- java - 我正在为大学课程使用 SceneBuilder/FXML 编写带有 GUI 的 Java 程序(抵押计算器),但我遇到了错误
- javascript - 如何使文本在具有 2 个变量的按钮脚本上水平滚动?