1

我决定以正确的方式进行自定义导航栏设计。我的导航栏标题应该用自定义字体“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。

4

3 回答 3

4

没有办法改变它的字体大小。至少据我所知不是。导航栏将自动调整默认标题标签的字体大小以适应纵向或横向。

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

多行示例:UINavigationBar 多行标题

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

祝你好运!

于 2012-10-22T10:17:00.200 回答
0

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

于 2012-10-22T10:28:50.573 回答
0

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

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

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

于 2017-10-04T01:59:11.437 回答