【问题标题】:How do I change UINavigationBar title label size?如何更改 UINavigationBar 标题标签大小?
【发布时间】:2012-10-22 10:00:29
【问题描述】:

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

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

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

但标题标签似乎无法容纳此字体的文本:

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

【问题讨论】:

    标签: objective-c ios uinavigationbar


    【解决方案1】:

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

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

    多行示例:UINavigationBar multi-line title

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

    祝你好运!

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 是的,我试过了。它没有帮助。看起来除了自定义视图别无他法。谢谢。
      【解决方案3】:

      在情节提要中设置标题字体。

      1. 检查 UINavigationController
      2. 打开它的 UINavigationBar
      3. 在标题文本属性下设置标题字体。

      现在它不应该削减你的标题标签。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-03
        • 1970-01-01
        • 1970-01-01
        • 2014-04-10
        • 2013-02-03
        • 1970-01-01
        • 2015-10-04
        • 1970-01-01
        相关资源
        最近更新 更多