在 Swift 中更改 UINavigationBar 字体
Posted
技术标签:
【中文标题】在 Swift 中更改 UINavigationBar 字体【英文标题】:Changing UINavigationBar font in Swift 【发布时间】:2014-08-24 22:17:14 【问题描述】:我有一个UINavigationBar
,中间有一个标题。我已在我的应用程序中添加了自定义字体 ("Comic_Andy.ttf
")(我已检查 info.plist
以确保它已列出,并且我已检查 Copy Bundle Resources
以确保已添加它),我想要以该字体显示的UINavigationBar
的标题。据我所知,我似乎应该在我的ViewController
中使用它:
myNavigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Comic_Andy", size: 22)]
我将该方法放在ViewController
的viewDidLoad
函数中。 我也在AppDelegate
的didFinishLaunchingWithOptions
函数中试过这个:
UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: UIFont(name: "Comic_Andy", size: 22)]
我在 XCode 6 Beta 6 中使用 Swift 进行编程。有关此任务的许多资源都提到了使用一种名为 setTitleTextAttributes
的方法,但该方法无处可见。我这辈子都想不通——我现在可能已经花了将近 3 个小时了——我已经检查了每个 *** 答案,每个网站,所以请不要将其标记为重复。 非常感谢!
【问题讨论】:
【参考方案1】:尝试使用 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)]
祝你好运!
【讨论】:
您应该将此作为答案发布。【参考方案2】:也可以为所有带有UINavigationBar.appearance()
的 NavigationBars 完成。
UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: UIFont(name: Font.mediumFontName, size: 20)!]
【讨论】:
【参考方案3】:好吧,我花了一整天的时间,但我明白了。我的第一个问题是我什至没有 NavigationController,所以一旦我解决了所有问题this is what finally fixed it。原来你这样称呼字体:Comic Andy
而不是Comic_Andy
。即使字体在整个包中都被称为 Comic_Andy,并且文件名为 Comic_Andy,您仍然使用 Comic Andy。
【讨论】:
字体名和文件名不一样!我去过那里以上是关于在 Swift 中更改 UINavigationBar 字体的主要内容,如果未能解决你的问题,请参考以下文章