导航栏标题不是粗体

时间:2017-06-23 12:05:26

标签: ios iphone swift fonts

当我在故事板中时,导航栏标题在故事板中默认显示为粗体,但是当您在模拟器和设备中运行应用程序时,它不是粗体。令人讨厌的是,无法从界面构建器更改字体大小。

下面您可以看到界面构建器和模拟器上显示的内容之间的区别。

界面构建器: Interface Builder

模拟器: enter image description here

我知道我可以使用以下内容更改字体:self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "YOUR-FONT-NAME-WEIGHT", size: 24)! 这将是完美的,但我想将字体保持为默认的SF字体。

这有解决方法吗?出现这种情况的原因是什么?

3 个答案:

答案 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)
]

在模拟器之前它看起来像 enter image description here

使用该代码,它看起来像enter image description here

答案 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)]