如何为 UILabel 设置 "bold" 动态字体类型?
How to set a "bold" dynamic font type for UILabel?
iOS 的 Apple documentation says 应用程序可以使用文本样式和动态字体类型,因此文本大小会根据用户的阅读偏好自动调整。
我有一个文本样式 Body
并将 Dynamic Type
设置为 true
以便它自动调整文本大小。这个效果不错。
这段文字我也想让它出现bold
。我还没有找到如何通过代码或在 Interface Builder 中实现此目的的方法。
有没有办法实现“粗体动态字体类型”?
好的,看来 documentation 提供了提示。对于使用自定义字体,我现在将 bold
字体视为自定义字体,可以使用 UIFontMetrics
class.
如果我将“粗体自定义字体”传递给 UIFontMetrics
class 的 scaledFontForFont
方法,我将使用动态字体类型 UIFontTextStyleBody
获得所需的结果。
UIFont* boldSystemFont = [UIFont boldSystemFontOfSize:17];
myLabel.font = [[UIFontMetrics metricsForTextStyle:UIFontTextStyleBody] scaledFontForFont:boldSystemFont];
到目前为止,我只看到这种使用代码的方式。不知道这是否也可以在 Interface Builder 中设置。
iOS 的 Apple documentation says 应用程序可以使用文本样式和动态字体类型,因此文本大小会根据用户的阅读偏好自动调整。
我有一个文本样式 Body
并将 Dynamic Type
设置为 true
以便它自动调整文本大小。这个效果不错。
这段文字我也想让它出现bold
。我还没有找到如何通过代码或在 Interface Builder 中实现此目的的方法。
有没有办法实现“粗体动态字体类型”?
好的,看来 documentation 提供了提示。对于使用自定义字体,我现在将 bold
字体视为自定义字体,可以使用 UIFontMetrics
class.
如果我将“粗体自定义字体”传递给 UIFontMetrics
class 的 scaledFontForFont
方法,我将使用动态字体类型 UIFontTextStyleBody
获得所需的结果。
UIFont* boldSystemFont = [UIFont boldSystemFontOfSize:17];
myLabel.font = [[UIFontMetrics metricsForTextStyle:UIFontTextStyleBody] scaledFontForFont:boldSystemFont];
到目前为止,我只看到这种使用代码的方式。不知道这是否也可以在 Interface Builder 中设置。