无法更改导航栏标题文本的颜色

时间:2016-03-04 16:16:51

标签: ios swift

override func viewDidLoad() 
{
    super.viewDidLoad()
    self.navigationController?.navigationBar.barTintColor = UIColor(red: 0, green: 0, blue: 0, alpha: 1.0)
    let attr: NSMutableDictionary! = [NSForegroundColorAttributeName: UIColor.whiteColor()]
    UINavigationBar.appearance().titleTextAttributes = attr
    self.view.backgroundColor = UIColor.whiteColor()
}

据说

'Cannot assign value of type 'NSMutableDictionary!' to type '[String : AnyObject]?'' 

在这一行

UINavigationBar.appearance().titleTextAttributes = attire

如果我将其更改为

UINavigationBar.appearance().titleTextAttributes = attr as! [String: AnyObject]

虽然它没有错误,但它可以改变文本的颜色。为什么呢?

2 个答案:

答案 0 :(得分:3)

您可以更改标题文字导航栏的颜色。 只需在 didFinishLaunchingWithOptions 函数的 AppDelegate.swift 中添加此项。

UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]

答案 1 :(得分:0)

试试这个:

self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.redColor()]