关于ios:如何为UILabel设置”粗体”动态字体类型?

How to set a "bold" dynamic font type for UILabel?

Apple 文档说,对于 iOS,应用程序可以使用文本样式和动态字体类型,因此文本大小会根据用户的阅读偏好自动调整。

我有一个文本样式 Body 并将 Dynamic Type 设置为 true 以便它自动调整文本大小。这很好用。

我也想让这个文本出现bold。我还没有找到如何通过代码或在 Interface Builder 中实现这一点的方法。

有没有办法实现"粗体动态字体类型"?

相关讨论

  • 您不能将粗体标记为 Body,它是一种文本样式。使用系统/自定义字体选择粗斜体等。
  • @omerfarukozturk 感谢您的评论。看来您为我指出了正确的方向,认为在我的情况下,粗体字体可以被视为"自定义字体"。该文档显示了如何处理自定义字体。请看下面我的回答。

好的,文档似乎提供了提示。对于使用自定义字体,我现在考虑将 bold 字体作为自定义字体,可以使用 UIFontMetrics 类。

如果我将"粗体自定义字体"传递给 UIFontMetrics 类的 scaledFontForFont 方法,我会使用动态字体类型 UIFontTextStyleBody 获得所需的结果。

1
2
UIFont* boldSystemFont = [UIFont boldSystemFontOfSize:17];
myLabel.font           = [[UIFontMetrics metricsForTextStyle:UIFontTextStyleBody] scaledFontForFont:boldSystemFont];

到目前为止,我只看到这种使用代码的方式。不知道这是否也可以在 Interface Builder 中设置。


以上是关于ios:如何为UILabel设置”粗体”动态字体类型?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>