我想整天更改导航栏标题的颜色,但这是行不通的。这是我的代码:
var user: User? {
didSet {
navigationItem.title = user?.name
observeMessages()
}
}
我使用didSet在导航标题上显示标题。
最佳答案
将此添加到您的代码中。 。
let textAttributes = [NSForegroundColorAttributeName:UIColor.red]
navigationController?.navigationBar.titleTextAttributes = textAttributes
SWIFT 4:
let textAttributes = [NSAttributedStringKey.foregroundColor:UIColor.red]
navigationController?.navigationBar.titleTextAttributes = textAttributes
SWIFT 4.2+:
let textAttributes = [NSAttributedString.Key.foregroundColor:UIColor.red]
navigationController?.navigationBar.titleTextAttributes = textAttributes
保留标题的所有其他属性:
如果您只想更改颜色,可以这样做:
if var textAttributes = navigationController?.navigationBar.titleTextAttributes {
textAttributes[NSAttributedString.Key.foregroundColor] = UIColor.red
navigationController?.navigationBar.titleTextAttributes = textAttributes
}