Answers:
您可以使用系统字体薄粗细:
UIFont.systemFont(ofSize: 34, weight: UIFontWeightThin)
旧金山可用重量的清单:
UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
UIFontWeightBlack
从iOS 11开始, UIFontWeight*
已重命名为UIFont.Weight.*
。更多信息,请参见https://developer.apple.com/documentation/uikit/uifont.weight。
从iOS 8.2开始,您现在可以使用UIFont.systemFontOfSize(_ fontSize: CGFloat, weight weight: CGFloat)
:
UIFont.systemFontOfSize(19, weight: UIFontWeightLight)
iOS SDK提供了权重常量:
UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
当您要使用系统字体时,使用系统字体比根据字体名称创建字体更好,因为iOS可以在iOS上更改其系统字体(例如在iOS 7中使用Helvetica Neue,现在在iOS 9中使用San Francisco时)。 。
因此,我建议您将想要的字体的TTF文件作为该ttf文件用作自定义字体,并在您的应用中使用该自定义字体。
这就是为什么我不喜欢Apple的特殊原因。 永远不要 听苹果说的话。总是做我们想要的。 Apple继续 为每个操作系统更改默认字体。
另外,如果您要保持相同的字体大小并仅更改粗细,请使用目标元素的字体大小。例如:
demoLabel.font = UIFont.systemFont(ofSize: demoLabel.font.pointSize, weight: UIFontWeightThin)
这样,您可以保留默认标签字体大小,而只需更改粗细。
从iOS 11开始, UIFontWeightThin重命名为UIFont.Weight.thin
。更多信息,请参见https://developer.apple.com/documentation/uikit/uifont.weight。