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

3

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

基本上看起来我的两行代码互相覆盖,我只能让它们单独工作。

以下是我的代码:

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

我需要做哪些修改才能更改字体大小和颜色?

2个回答

12

在 Swift 中,Mandav 的出色答案可以这样实现:

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

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


咳咳,你有注意到回答的日期吗? - Steve Rosenberg
完美!!在9.2上运行得非常好 :) 很高兴点赞。 - swiftBoy

0

我看到了这个帖子,但我需要Objective-c的答案。我找到了如何做到这一点。让我在这里发布,以防其他程序员遇到同样的问题。对于Objective-c,您可以通过设置NSDictionary中的属性来实现此目的,就像这样。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接