在Swift中更改UINavigationBar字体

时间:2014-08-24 22:17:15

标签: ios cocoa-touch view swift uinavigationbar

我有UINavigationBar,中间标题。我已将自定义字体(“Comic_Andy.ttf”)添加到我的应用中(我已检查info.plist以确保其已列出,我已检查Copy Bundle Resources以确保已添加),我希望UINavigationBar的标题以该字体显示。从我可以收集到的内容看起来好像我应该在ViewController

中使用它
myNavigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Comic_Andy", size: 22)]

我将该方法放在viewDidLoad的{​​{1}}函数中。我也在ViewController的{​​{1}}函数中尝试了这个:

didFinishLaunchingWithOptions


我正在使用Swift编程,在XCode 6 Beta 6中。有关此任务的许多资源都提到了使用名为AppDelegate的方法,这是无处可见的。我无法弄清楚我的生活 - 我现在可能花了将近3个小时 - 我已经检查了每个StackOverflow的答案,每个网站,所以请不要将其标记为重复。

非常感谢!

3 个答案:

答案 0 :(得分:21)

请尝试使用ViewController viewDidLoad函数中的navigationController.navigationBar,而不是使用myNavigationBar。它对我有用。

navigationController.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Comic_Andy", size: 22)]

如果这不起作用,请尝试使用.ttf后缀。

navigationController.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Comic_Andy.ttf", size: 22)]
祝你好运!

答案 1 :(得分:6)

也可以使用UINavigationBar.appearance()为所有导航栏完成。

UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: UIFont(name: Font.mediumFontName, size: 20)!]

答案 2 :(得分:0)

嗯,这花了我一整天,但我明白了。我的第一个问题是我甚至没有一个NavigationController,所以一旦我把它全部整理出this is what finally fixed it。原来你打电话给这样的字体:Comic Andy而不是Comic_Andy。即使整个软件包中的字体被称为Comic_Andy,文件名为Comic_Andy,您仍然使用Comic Andy。