【问题标题】:SwiftUI - Navigation bar title not displayed when nesting TabView in NavigationViewSwiftUI - 在 NavigationView 中嵌套 TabView 时不显示导航栏标题
【发布时间】:2020-07-27 12:45:46
【问题描述】:

由于应用程序特定的原因,我必须在 NavigationView 中嵌套 TabView。但是标签项的导航栏标题没有显示,只是一个空的导航栏。

有什么解决办法吗?

struct ContentView: View {
    var body: some View {
        NavigationView {
            TabView {
                Text("Tab 1")
                .navigationBarTitle("Tab 1") // is ignored, only an empty string is displayed
                .tabItem {
                    Text("Tab 1")
                }
                
                Text("Tab 2")
                .navigationBarTitle("Tab 2") // is ignored, only an empty string is displayed
                .tabItem {
                    Text("Tab 2")
                }
            }
            // this would display a navigation bar title, but then the title is the same for all tab items
            //.navigationBarTitle("TabView title")
        }
    }
}

【问题讨论】:

    标签: swiftui


    【解决方案1】:

    这是可能的解决方案。使用 Xcode 11.4 / iOS 13.4 测试

    struct ContentView: View {
        @State private var title = ""
        var body: some View {
            NavigationView {
                TabView {
                    Text("Tab 1")
                    .onAppear { self.title = "Tab 1" }
                    .tabItem {
                        Text("Tab 1")
                    }
    
                    Text("Tab 2")
                    .onAppear { self.title = "Tab 2" }
                    .tabItem {
                        Text("Tab 2")
                    }
                }
                .navigationBarTitle(title)
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      如果让 NavigationView 在 TabView 之外,当你推送一个新的 View 并更改当前的 App 时,当你返回你的应用程序时,如果总是会弹出到 TabView

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 2020-11-06
      • 1970-01-01
      • 1970-01-01
      • 2022-11-21
      • 2021-11-29
      • 2020-01-06
      • 1970-01-01
      • 1970-01-01
      • 2019-12-11
      相关资源
      最近更新 更多