如下图所示,我的UIViewController
不是UINavigationController
,而是常见的UIViewController
。我做的是我使用界面构建器放置UINavigationBar
并在其上方放置UIImage
。问题是我想要更改此UINavigationBar
的字体。任何人都会知道如何做到这一点?
通常,使用公共UINavigationController
我使用以下代码:
// this will appear as the title in the navigation bar
self.label = [[UILabel alloc] initWithFrame:CGRectZero];
self.label.backgroundColor = [UIColor clearColor];
self.label.font = [UIFont fontWithName:@"Copperplate" size:22];
self.label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
self.label.textAlignment = UITextAlignmentCenter;
self.label.textColor = [UIColor whiteColor]; // change this color
self.label.text = [self.navigationItem title];
self.navigationItem.titleView = label;
[label sizeToFit];
答案 0 :(得分:1)
它应该以同样的方式工作。我认为您只需要IBOutlet
UINavigationBar
,或仅UINavigationItem
(UINavigationBar
的标题)就可以了。
答案 1 :(得分:1)
上面的答案没有错,但一个非常简单的方法是在故事板中选择导航栏。然后在属性检查器中更改标题字体。
Nota Bene
当您想要更改字体时,此技术也非常有用 在使用导航时,在整个视图集中 控制器。 (只需在一个地方更改)。 Xcode 7.1.1有一些bug。其中之一要求您将Bar Tint从默认值切换为另一种颜色(如果需要,您可以随时将其重置为默认值)以查看字体更改。
选择自定义字体时,上述功能目前无效(从Xcode 7.1.1开始)。 如果您需要,请参阅以下SO Answer以获取解决方法 自定义字体。 (tldr;在按钮或标签上添加插座,更改 该控件上的自定义字体,将该控件设置为 UINavigationItem.titleView)。