UIFont – 如何获得系统精简的字体
UIFont
有获取常规字体( systemFontOfSize
)或粗体字体( boldSystemFontOfSize
)的方法,但是如何通过storyboard获得“精简系统字体”?
将“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
当你想要使用系统字体时,使用系统字体要比创build基于字体名称的字体要好,因为iOS可以在iOS上更改他们的系统字体(就像他们在iOS 7中使用Helvetica Neue,现在在iOS 9中使用旧金山一样) 。
所以我build议的是包括TTF文件的字体,你想要使用ttf文件作为自定义字体,并在您的应用程序中使用自定义字体。
这是我不喜欢苹果的特殊原因。 不要 去苹果说什么。 总是做我们想要的。 苹果不断更改 每个操作系统的默认字体。
此外,如果你想保持相同的字体大小,只是改变重量,然后使用目标元素的字体大小。 例如:
demoLabel.font = UIFont.systemFont(ofSize: demoLabel.font.pointSize, weight: UIFontWeightThin)
有了这个,你可以保持默认的标签字体大小,只是改变重量。
从iOS 11开始, UIFontWeightThin被重命名为UIFont.Weight.thin
。 更多,你可以在这里https://developer.apple.com/documentation/uikit/uifont.weight 。