如何更改UINavigationBar标题标签大小?

时间:2012-10-22 10:00:30

标签: objective-c ios uinavigationbar

我决定以正确的方式设计自定义导航栏。我的导航栏的标题应该输入大小为23的自定义字体“Din Condensed”。所以我写了这段代码:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigation_background.png"]
                                 forBarMetrics:UIBarMetricsDefault];

[[UINavigationBar appearance] setTitleTextAttributes:@{
                          UITextAttributeTextColor: [UIColor whiteColor],
                          UITextAttributeFont: [UIFont fontWithName:@"PFDinTextCondPro-Bold" size:23]
}];

但看起来标题标签不适合使用此字体的文字:

title label size

如何使用外观API更改UINavigationBar标题的大小?我想避免使用自定义titleView。

3 个答案:

答案 0 :(得分:4)

无法更改其字体大小。至少不是我所知道的。导航栏将自动调整默认标题标签的字体大小,以适合纵向或横向。

因此您需要自定义标题视图。但它很简单;只需要将导航项titleView设置为您的标签。

多行示例:UINavigationBar multi-line title

单行但不同字体的示例:https://stackoverflow.com/a/10171426/894671

祝你好运!

答案 1 :(得分:0)

您是否尝试setTitlePositionAdjustment来解决此问题?如果这不起作用,我认为最好的方法是使用您想要的字体自定义UILabel,并将其用作导航栏的titleView(自定义视图)属性。

答案 2 :(得分:0)

在故事板中设置标题字体。

  1. 检查UINavigationController
  2. 打开其UINavigationBar
  3. 在标题文字属性下设置标题字体。
  4. 现在它不应该削减你的标题标签。