UINavigationBar foregroundColor использует цвет вместо UIColor - PullRequest
0 голосов
/ 03 ноября 2019

Как мне использовать Color вместо UIColor для текста моей навигационной панели?

Например, это работает:

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

Это не:

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

Как мне сделать это правильно? UIColor.red намного страшнее Color.red

Ответы [ 2 ]

2 голосов
/ 03 ноября 2019
var largeTitleTextAttributes: [NSAttributedString.Key : Any]? { get set }

Как вы можете видеть, словарь равен [NSAttributedString.Key : Any], это означает, что компилятор не может вывести .red, поэтому вы должны это сделать, UIColor.red.

The .foregroundColor работает просто отлично, потому что ожидает NSAttributedString.Key.

Боюсь сказать, что вы должны быть явными в этой ситуации.

1 голос
/ 04 ноября 2019

Итак, я только что узнал, UIColor.systemRed - это то же самое, что и Color.red ...

...