更改导航栏标题字体 - 不同

时间:2011-12-06 12:49:44

标签: ios fonts uiimageview uinavigationbar xcode4.2

如下图所示,我的UIViewController不是UINavigationController,而是常见的UIViewController。我做的是我使用界面构建器放置UINavigationBar并在其上方放置UIImage。问题是我想要更改此UINavigationBar的字体。任何人都会知道如何做到这一点?

image with the problem

通常,使用公共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];

2 个答案:

答案 0 :(得分:1)

它应该以同样的方式工作。我认为您只需要IBOutlet UINavigationBar,或仅UINavigationItemUINavigationBar的标题)就可以了。

答案 1 :(得分:1)

故事板解决方案

上面的答案没有错,但一个非常简单的方法是在故事板中选择导航栏。然后在属性检查器中更改标题字体。

Title-Font

  

Nota Bene

     

当您想要更改字体时,此技术也非常有用   在使用导航时,在整个视图集中   控制器。 (只需在一个地方更改)。 Xcode 7.1.1有一些bug。其中之一要求您将Bar Tint从默认值切换为另一种颜色(如果需要,您可以随时将其重置为默认值)以查看字体更改。

自定义字体

  

选择自定义字体时,上述功能目前无效(从Xcode 7.1.1开始)。   如果您需要,请参阅以下SO Answer以获取解决方法   自定义字体。 (tldr;在按钮或标签上添加插座,更改   该控件上的自定义字体,将该控件设置为   UINavigationItem.titleView)。