SwiftUI macOS 10.15开发中TabView出现重复标签问题如何解决?
问题原因
SwiftUI 中 View 协议的 body 未显式声明容器时,若内部存在多个并列的顶层视图,系统会隐式返回 TupleView 类型。TabView 会将子视图返回的 TupleView 中每个元素单独识别为一个标签页项,因此你在 BookmarksView 中添加第二个 Text 后,相当于向 TabView 额外插入了一个没有配置 tabItem 的标签页,就出现了标签重复/多余的异常。
修复方案
给子视图内所有的并列元素外层包裹一个布局容器(根据你的布局需求选择 VStack/HStack/ZStack 等),确保子视图的 body 仅返回单个容器视图,TabView 就不会自动拆分内容为多个标签页。
修复后的示例代码如下:
struct BookmarksView: View { var body: some View { // 用VStack垂直排布两个文本,也可以替换为你需要的其他布局容器 VStack { Text("Bookmarks View") .font(.title) .font(Font.body.bold()) Text("Testing") .font(.system(size: 15)) } } }
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

