当我在故事板中时,导航栏标题在故事板中默认显示为粗体,但是当您在模拟器和设备中运行应用程序时,它不是粗体。令人讨厌的是,无法从界面构建器更改字体大小。
下面您可以看到界面构建器和模拟器上显示的内容之间的区别。
我知道我可以使用以下内容更改字体:self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "YOUR-FONT-NAME-WEIGHT", size: 24)!
这将是完美的,但我想将字体保持为默认的SF字体。
这有解决方法吗?出现这种情况的原因是什么?
答案 0 :(得分:5)
在viewDidLoad
中使用此代码更改字体大小
self.navigationController?.navigationBar.titleTextAttributes = [
NSFontAttributeName: UIFont.systemFont(ofSize: 20, weight: UIFontWeightHeavy)
]
对于swift 4:
self.navigationController?.navigationBar.titleTextAttributes = [
NSAttributedStringKey.font: UIFont.systemFont(ofSize: 20, weight: UIFont.Weight.heavy)
]
答案 1 :(得分:0)
只需使用UIFont.systemFont
即可获取默认的SF字体。
self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont.systemFont(ofSize:24, weight: .bold)]
答案 2 :(得分:0)
Swift 4:
self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 20, weight: UIFont.Weight.heavy)]