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

Ios 更改导航栏标题字体-不同,ios,fonts,uiimageview,uinavigationbar,xcode4.2,Ios,Fonts,Uiimageview,Uinavigationbar,Xcode4.2,如下图所示,我的UIViewController不是UINavigationController,而是常见的UIViewController。我所做的是使用interface builder放置一个UINavigationBar,然后在上面放置一个UIImage。问题是我想更改此UINavigationBar的字体。有人会知道怎么做吗 通常,对于通用UINavigationController,我使用以下代码: // this will appear as the title in the n

如下图所示,我的
UIViewController
不是
UINavigationController
,而是常见的
UIViewController
。我所做的是使用interface builder放置一个
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];

嗯,它应该以同样的方式工作。我想你只需要一个
UINavigationBar
IBOutlet
,或者只需要
UINavigationItem
(你的
UINavigationBar
的标题)就可以了。

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

Nota Bene

当您想要更改字体时,此技术也非常有用 无论何时使用导航时,都可以跨越整个视图集 控制器。(只需在一个地方进行更改)。Xcode 7.1.1有几个bug。其中之一要求您将条形图的色调从默认颜色切换到另一种颜色(如果需要,您可以随时将其重置为默认颜色),以便查看字体更改

自定义字体 在选择自定义字体时(从Xcode 7.1.1开始),上述内容目前不起作用。 如果您需要解决方案,请参阅以下内容 自定义字体。(tldr;将插座添加到按钮或标签,更改 在该控件上自定义字体,将该控件设置为 UINavigationItem.titleView)


代码中描述的方式不起作用。我还试图声明UINavigationBar的属性,并将其链接到IB中的导航栏,但导航栏的属性与导航控制器的属性不同。。至少没用。。我将尝试只指向导航项的IBOutlet,然后将其发布到此处。。但我仍然愿意接受其他想法;)拥有指向navigationItem的IBOutlet不起作用?:真奇怪。是的,请发布。伙计,它成功了,我创建了一个UINavigationItem的iboutlet,并将其链接到IB上的item Reference Outlet。。它终于起作用了。。谢谢