SwiftUI TabView + NavigationView导航栏未显示

时间:2020-07-16 16:06:17

标签: swift swiftui navigationview tabview

几年后我开始使用SwiftUI。这并不是小菜一碟。

好的,所以我正在尝试构建一个包含带有2个元素的标签栏的应用。每个带有Tab的Tab都包含一个ViewController(现在查看),它们将被嵌入到NavigationController中(现在是NavigationView)

实际结果是这样 enter image description here

并且我希望有一个导航栏,其标题设置为“首页”。

您能解释一下我在这里做错了什么吗?我遵循了文档和一些教程,但似乎没有什么不同。

import SwiftUI

struct TabBarView: View {
    var body: some View {
        TabView() {
            RedView()
                .tabItem({
                    Image(systemName: "house.fill")
                    Text("Home")
                })
                .tag(0)
            BlueView()
                .tabItem({
                    Image(systemName: "dollarsign.square.fill")
                    Text("Trade")
                })
                .tag(1)
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        TabBarView()
    }
}


struct RedView: View {
    var body: some View {
        NavigationView {
            List {
                Text("test")
            }
        }
        .navigationBarTitle("Home")
    }
}
struct BlueView: View {
    var body: some View {
        NavigationView {
            List {
                Text("test2")
            }
        }
        .navigationBarTitle("Trade")
    }
}

此文件包含当前所有内容。预先感谢您将来的帮助!

1 个答案:

答案 0 :(得分:3)

.navigationBarTitle应该在内部 NavigationView

struct RedView: View {
    var body: some View {
        NavigationView {
            List {
                Text("test")
            }
            .navigationBarTitle("Home")     // << here !!
        }
    }
}