我想做类似于iOS 13中“照片”和“播客”应用程序中所做的事情。这两个应用程序都有一个额外的视图附加到选项卡栏。在“照片”应用程序中,它是第二行导航,类似于子菜单,并且仅存在于一个选项卡中。在“播客”应用程序中,它是一个缩小的播放器,并且在所有选项卡中都可用。当使用SwiftUI时,我可以选择哪些选项来实现这样的操作?是否有一种方法将额外的视图附加到选项卡栏?或者应该在每个tabItem内使用ZStack,并在每个ZStack中复制我的额外视图?
你可以在持久化视图(如TabBar、NavigationView等)上使用.overlay修改器,例如:TabView { ,,, } .overlay( Rectangle() .foregroundColor(.red) .frame(width: 40, height: 40) ) 当然需要正确配置!这只是一个演示,展示如何拥有持久视图。 此外,您可以定义自己的自定义 修饰符 并将其应用于选项卡栏。 重要的唯一事情 是将其应用于持久 视图 上。因此,您不需要在每个视图中复制额外的视图。