SwiftUI导航栏标题不显示

7

我不确定Beta 3中是否有任何更改,但是当尝试将NavigationBarTitle修饰符添加到NavigationView时,它不会显示标题的文本?有什么想法吗?

NavigationView {
         List(0 ..< 20) { item in
            NavigationLink(destination: Text("1")) {
                Text("Navigate 1")
            }
        }
    }.navigationBarTitle(Text("Update")).navigationBarHidden(false)
}

列表在NavigationView中未显示标题。
2个回答

24

当您应该将 .navigationBarTitle.navigationBarHidden 设置为列表 List 上的修饰符时,您正在设置 NavigationView上。

NavigationView {
    List(0..<20) { item in
        NavigationLink(destination: Text("1")) {
            Text("Navigate 1")
        }
    }
    .navigationBarTitle("Update")
    .navigationBarHidden(false)
}
您也可以直接删除.navigationBarHidden(false)代码(除非您在之前的视图中将其设置为true或其他值)。

0

你的代码运行良好,navigationBarTitle并不过时。它必须放置在上方(导航视图内部)。是的,有时候会让人感到困惑,但需要记住这一点。

在你当前的位置 .navigationBarTitle(Text("Update")).navigationBarHidden(false),你需要设置修饰符 .navigationViewStyle(StackNavigationViewStyle()),这意味着无论屏幕大小如何,你都应该始终显示第一个屏幕。

    var body: some View {
        NavigationView {
                 List(0 ..< 20) { item in
                    NavigationLink(destination: Text("1")) {
                        Text("Navigate 1")
                    }
                }
                 .navigationBarTitle(Text("Update"), displayMode: .automatic).navigationBarHidden(false)
            }
        // that means only show one view at a time no matter what device I'm working
        .navigationViewStyle(StackNavigationViewStyle())
        }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接