2014-09-25 97 views
3

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

基本上,似乎发生的是我的两行代码相互覆盖,我只能让他们自己工作。

这里是我的代码:

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

什么我需要改变,这样我可以改变字体大小和颜色?

回答

12

在迅速马恩达沃的出色答卷,可以以这种方式实现:

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

注意,UIFont初始化返回一个可选的,因为它可能无法找到字体,所以使用了感叹号。

+1

不适用于iOS SDK 8.1 – JustWork 2014-11-02 00:47:31

+0

ahem,你有没有注意到答案的日期? – 2014-11-02 03:14:58

+0

完美!工作9.2像一个魅力:)乐于upvote – swiftBoy 2016-05-26 13:34:55

0

我碰到这个线程,但我需要Objective-c的答案。我发现如何做到这一点。让我在这里发布它,以防其他程序员遇到同样的问题。对于objective-c,你可以通过在NSDictionary中设置属性来实现这一点。

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