UIFont - 如何获取系统细字体
UIFont - how to get system thin font
UIFont
有获取常规字体(systemFontOfSize
)或粗体(boldSystemFontOfSize
)的方法,但是如何通过故事板获取"thin system font"?
将 "system-thin" 传递给 UIFont
构造函数不起作用,此构造函数仅适用于非系统字体。
可以使用系统字体细重:
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 上更改他们的系统字体(就像他们使用 Helvetica Neue 时所做的那样)在 iOS 7,现在,旧金山在 iOS 9)。
所以我的建议是包含您想要的字体的 TTF 文件,因为使用该 ttf 文件作为自定义字体并在您的应用程序中使用自定义字体。
这是我不喜欢苹果的特殊原因从不照苹果说的去做。永远做我们想做的事。 Apple 不断更改 每个 OS 的默认字体。
此外,如果您想保持相同的字体大小而只是更改粗细,则使用目标元素的字体大小。例如:
demoLabel.font = UIFont.systemFont(ofSize: demoLabel.font.pointSize, weight: UIFontWeightThin)
有了这个你可以保持默认的标签字体大小,只改变粗细。
自 iOS 11 起, UIFontWeightThin 已重命名为 UIFont.Weight.thin
。你可以在这里找到更多 https://developer.apple.com/documentation/uikit/uifont.weight。
Swift 4.2 / Swift 5.0
label.font = UIFont.systemFont(ofSize: 15, weight: UIFont.Weight.thin)
UIFont
有获取常规字体(systemFontOfSize
)或粗体(boldSystemFontOfSize
)的方法,但是如何通过故事板获取"thin system font"?
将 "system-thin" 传递给 UIFont
构造函数不起作用,此构造函数仅适用于非系统字体。
可以使用系统字体细重:
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 上更改他们的系统字体(就像他们使用 Helvetica Neue 时所做的那样)在 iOS 7,现在,旧金山在 iOS 9)。
所以我的建议是包含您想要的字体的 TTF 文件,因为使用该 ttf 文件作为自定义字体并在您的应用程序中使用自定义字体。
这是我不喜欢苹果的特殊原因从不照苹果说的去做。永远做我们想做的事。 Apple 不断更改 每个 OS 的默认字体。
此外,如果您想保持相同的字体大小而只是更改粗细,则使用目标元素的字体大小。例如:
demoLabel.font = UIFont.systemFont(ofSize: demoLabel.font.pointSize, weight: UIFontWeightThin)
有了这个你可以保持默认的标签字体大小,只改变粗细。
自 iOS 11 起, UIFontWeightThin 已重命名为 UIFont.Weight.thin
。你可以在这里找到更多 https://developer.apple.com/documentation/uikit/uifont.weight。
Swift 4.2 / Swift 5.0
label.font = UIFont.systemFont(ofSize: 15, weight: UIFont.Weight.thin)