SwiftUI 的TabView,类似于 UITabBar,它会在屏幕底部创建一个按钮条,点击每个按钮会显示不同的视图。 同时,将tabItem()修饰符附加到TabView。这使您可以自定义视图在选项卡栏中的显示方式,提供图像和一些文本以显示在其旁边
除了让用户通过点击选项卡项来切换视图之外,SwiftUI 还允许我们使用状态以编程方式控制当前视图。这需要四个步骤:
- 创建一个@State属性来跟踪当前显示的选项卡。
- 每当我们想要跳转到不同的选项卡时,将该属性修改为新值。
- 将其作为绑定传递到 中TabView,以便自动跟踪它。
- 告诉 SwiftUI 应为该属性的每个值显示哪个选项卡。
当我们说selectedTab = "2"时,SwiftUI 如何知道代表哪个选项卡? 提供了一个更好的解决方案:我们可以为每个视图附加一个唯一的标识符,并将其用于选定的选项卡。这些标识符称为标签,并使用tag()修饰符附加。
另外,tabItem可以这样写:
.tabItem {
Image(systemName: "circle")
Text("首页")
}
同时使用NavigationStack和TabView是很常见的,但您应该注意:TabView应该是父视图,其中的选项卡根据需要具有 NavigationStack,不要搞反了。