我想做的事情与iOS 13中的“照片和播客”应用程序类似。
这两个应用程序的选项卡栏都有一个附加视图。在“照片”应用中,它是导航的第二行,如子菜单,并且仅显示在一个选项卡中。在Podcasts应用中,它是缩小播放器,并且在所有标签中都可用。
在使用SwiftUI时,我有什么选择可以做这样的事情?有没有办法在标签栏上附加视图?还是应该在每个tabItem中使用ZStack并在每个ZStack中复制我的额外视图?
答案 0 :(得分:1)
您可以在持久性.overlay
(TabBar,NavigationView等)上使用view
修饰符 ,例如:
TabView { ,,, }
.overlay(
Rectangle()
.foregroundColor(.red)
.frame(width: 40, height: 40)
)
当然具有正确的配置!这只是一个演示,以演示如何获得永久视图。
您还可以定义自己的自定义修饰符并将其应用到标签栏。 唯一重要的是将其应用于持久性view
。因此,您无需在每个视图中重复您的额外视图。