Swift 如何设置导航栏字体颜色和大小

Swift 如何设置导航栏字体颜色和大小,swift,uinavigationbar,Swift,Uinavigationbar,我一直试图在我的导航栏中设置文本的字体大小和字体颜色,但是我遇到了一些问题 基本上,我的两行代码互相覆盖,我只能让它们自己工作 这是我的密码: self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Avenir", size: 30)] self.navigationController?.navigationBar.titleTextA

我一直试图在我的导航栏中设置文本的字体大小和字体颜色,但是我遇到了一些问题

基本上,我的两行代码互相覆盖,我只能让它们自己工作

这是我的密码:

    self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Avenir", size: 30)]
    self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]

我需要更改什么才能更改字体大小和颜色?

在swift Mandav的优秀答案中,可以通过以下方式实现:

var attributes = [
    NSForegroundColorAttributeName: UIColor.greenColor(),
    NSFontAttributeName: UIFont(name: "Avenir", size: 30)!
]
self.navigationController?.navigationBar.titleTextAttributes = attributes

请注意,
UIFont
初始值设定项返回一个可选值,因为它可能找不到字体,所以使用感叹号。

我遇到了这个线程,但我需要Objective-c的答案。我知道怎么做了。让我把它贴在这里,以防其他程序员遇到同样的问题。对于objective-c,可以通过在NSDictionary中设置如下属性来实现

[self.navigationController.navigationBar setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor]                                                ,NSForegroundColorAttributeName,                                                       [UIFont fontWithName:@"Avenir" size:30]                                                       , NSFontAttributeName, nil]];

啊哼,你注意到答案的日期了吗?太好了!!在9.2上工作很有魅力:)很高兴投票