首页 > 解决方案 > SwiftUI:Tabbar 的奇怪行为

问题描述

我的应用程序有一个带有 3 个栏项的 TabBar,如下所示

var body: some View {
    TabView() {
        NavigationView {
            View1()
        }
        .tabItem { Label("Tab1"), systemImage: "calendar.badge.exclamationmark") }
        
        View2()
            .tabItem {
                Label("Tab2"), systemImage: "list.bullet")
            }
        
        View3()
            .tabItem {
                Label("Tab3"), systemImage: "info")
            }
    }
}

我不明白为什么 Tab2 出现 2 次,这意味着我总共有 4 个选项卡而不是 3 个。我感觉很愚蠢 :-)

标签: swiftuiuitabbar

解决方案


你有几个放错位置的括号(),这可能是问题所在。试试这个代码(替换Text("View one")View1()等):

struct ContentView: View {
    var body: some View {
        TabView {
            NavigationView {
                Text("View one")
            }
            .tabItem {
                Label("Tab1", systemImage: "calendar.badge.exclamationmark")

            }

            Text("View two")
                .tabItem {
                    Label("Tab2", systemImage: "list.bullet")

                }

            Text("View three")
                .tabItem {
                    Label("Tab3", systemImage: "info")

                }
        }
    }
}

结果:

3 个标签

推荐阅读