如何在Swift中将文本字体设置为System Thin?
How to set text font as System Thin in Swift?
我想将标签文本设置为系统细化。阅读 Whosebug 并找到这样的答案:
labelDescriptionView.font = UIFont(name: "System-Thin", size: 15.0)
但是没有用。如何改进我的代码并以编程方式制作细字体样式?
Interface Builder 中的 system
字体是 OS 默认字体,它不是您可以通过名称获得的字体。对于系统字体Apple提供了以下方法:
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize;
+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize;
+ (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize;
这些不包括任何精简版,但 iOS 8.2 以上版本您可以使用:
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize weight:(CGFloat)weight;
你可以通过的地方:作为权重:
UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
所以细系统字体应该是:
UIFont *thinFont = [UIFont systemFontOfSize:15 weight:UIFontWeightThin];
如果您使用的是 iOS 8.2 或更高版本,您可以使用它;
label.font = UIFont.systemFontOfSize(15, weight: UIFontWeightThin)
对于以前的版本,只需使用 HelveticaNeue-Thin
作为您的字体。
编辑:iOS 14 是:
label.font = UIFont.systemFont(ofSize: 14, weight: .light)
我想将标签文本设置为系统细化。阅读 Whosebug 并找到这样的答案:
labelDescriptionView.font = UIFont(name: "System-Thin", size: 15.0)
但是没有用。如何改进我的代码并以编程方式制作细字体样式?
Interface Builder 中的 system
字体是 OS 默认字体,它不是您可以通过名称获得的字体。对于系统字体Apple提供了以下方法:
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize;
+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize;
+ (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize;
这些不包括任何精简版,但 iOS 8.2 以上版本您可以使用:
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize weight:(CGFloat)weight;
你可以通过的地方:作为权重:
UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
所以细系统字体应该是:
UIFont *thinFont = [UIFont systemFontOfSize:15 weight:UIFontWeightThin];
如果您使用的是 iOS 8.2 或更高版本,您可以使用它;
label.font = UIFont.systemFontOfSize(15, weight: UIFontWeightThin)
对于以前的版本,只需使用 HelveticaNeue-Thin
作为您的字体。
编辑:iOS 14 是:
label.font = UIFont.systemFont(ofSize: 14, weight: .light)