UINavigationBar前景颜色使用颜色而不是UIColor

时间:2019-11-03 11:56:06

标签: swift colors swiftui uicolor

如何为导航栏文本使用Color而不是UIColor

示例,这有效:

init() {
    UINavigationBar.appearance().largeTitleTextAttributes = [
        .foregroundColor: UIColor.red
    ]
}

这不是:

init() {
    UINavigationBar.appearance().largeTitleTextAttributes = [
        .foregroundColor: .red
    ]
}

如何正确执行此操作? UIColor.redColor.red

难看

2 个答案:

答案 0 :(得分:2)

var largeTitleTextAttributes: [NSAttributedString.Key : Any]? { get set }

如您所见,字典是[NSAttributedString.Key : Any],这意味着编译器无法推断.red,这就是为什么UIColor.red必须这样做。

.foregroundColor可以正常工作,因为它期望NSAttributedString.Key

在这种情况下,我恐怕要说清楚。

答案 1 :(得分:1)

所以我刚刚发现UIColor.systemRedColor.red相同...