【问题标题】:Change colour of NavigationView Title SwiftUI更改 NavigationView 标题 SwiftUI 的颜色
【发布时间】:2019-07-11 12:11:34
【问题描述】:

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

我已经这样做了:

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

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

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

【问题讨论】:

    标签: ios swiftui navigationview


    【解决方案1】:

    您可以为此使用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"))
                 }
              }
           }
        }
    

    【讨论】:

    • 我不确定这是否完全正确,因为 SwiftUI 意味着与平台/实现无关。例如,此代码在 macOS 上不起作用
    • @BlueSpud 是的,你是对的,在不久的将来,我希望 SwiftUI 有一些解决方案。
    猜你喜欢
    • 1970-01-01
    • 2017-01-20
    • 2020-10-11
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多