首页 > 解决方案 > 更改 NavigationView 标题 SwiftUI 的颜色

问题描述

是否可以更改 NavigationView 标题的颜色?

我已经这样做了:

NavigationView
{
    Form
    {
        // Form Stuff
    }
    .navigationBarTitle(Text("Profile").color(Color.white))
}

但是标题仍然是黑色的,我查看了文档,显然有一个名为navigationViewStyle我什至不知道这是否有帮助的属性,但无论我把它放在哪里,它都说它不是导航视图的成员,文档是空白的基本上整个班级......所以有人设法弄清楚了吗?

理想情况下,我也会更改字体,以便它与我的应用程序的其余部分匹配,但因为它似乎只是忽略了设置给 Text 对象的任何标签,我假设这不是应该如何完成的?

标签: iosswiftuinavigationview

解决方案


你可以使用UINavigationBar.appearance()它,

检查以下代码:

    struct ContentView : View {

        init() {
            UINavigationBar.appearance().largeTitleTextAttributes = [NSAttributedString.Key.foregroundColor:UIColor.green]
            UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor:UIColor.green]
        }

        var body: some View {
          NavigationView {
              Form {
              // Form Stuff
              }
             .navigationBarTitle(Text("Profile"))
             }
          }
       }
    }

推荐阅读