在Swift中更改UINavigationBar字体

dcg*_*oss 15 cocoa-touch view uinavigationbar ios swift

UINavigationBar在中间有一个标题.我已经添加了一个自定义字体(" Comic_Andy.ttf")到我的应用程序(我已经检查info.plist以确保它已列出,我已经检查Copy Bundle Resources以确保它已被添加),我想要UINavigationBar显示的标题字体.从我可以收集的内容看起来好像我应该在我的使用中ViewController:

myNavigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Comic_Andy", size: 22)]
Run Code Online (Sandbox Code Playgroud)

我把那个方法放在了viewDidLoad函数中ViewController.
我也尝试过这个didFinishLaunchingWithOptions功能AppDelegate:

UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: UIFont(name: "Comic_Andy", size: 22)]
Run Code Online (Sandbox Code Playgroud)


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

提前谢谢了!

tru*_*201 21

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

navigationController.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Comic_Andy", size: 22)]
Run Code Online (Sandbox Code Playgroud)

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

navigationController.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Comic_Andy.ttf", size: 22)]
Run Code Online (Sandbox Code Playgroud)

祝好运!


Rag*_*s93 6

也可以用于所有NavigationBars UINavigationBar.appearance().

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


dcg*_*oss 0

好吧,我花了一整天的时间,但我明白了。我的第一个问题是我什至没有 NavigationController,所以一旦我解决了所有问题,这就是最终解决它的方法。结果你这样称呼字体:Comic Andy而不是Comic_Andy. 尽管该字体在整个包中被称为 Comic_Andy,并且文件名为 Comic_Andy,但您仍然使用 Comic Andy。