首页 > 解决方案 > 如果其父级是 iOS 15 上的 TabView,则子视图中的 navigationBarTitle 无效

问题描述

我有一个以 NavigationView 作为主视图的简单应用程序,它包含一个 TabView。第一个选项卡包含指向子视图的 NavigationLink,我希望它有一个导航标题。以下代码适用于我测试过的许多不同的 iOS 14 版本,但不适用于所有 iOS 15 测试版(直到 7 月 27 日发布的 Beta 4)。

struct ContentView: View {
    var body: some View {
        NavigationView {
            TabView {
                NavigationLink(destination: ChildView()) {
                    Text("View Child")
                }
            }
        }
    }
}

struct ChildView: View {
    var body: some View {
        Text("Child View Content")
            .navigationBarTitle("Title", displayMode: .inline)
    }
}

移除 TabView 或将 TabView 设为 NavigationView 的父级可解决此问题。

有没有办法在不改变结构的情况下让导航栏标题显示在子视图中?

标签: swiftui

解决方案


推荐阅读