我在swift 3.0中工作,根据要求,我想让UILabel文字Bold和Italic。为此,我写了下面的代码。
extension UIFont {
func withTraits(traits:UIFontDescriptorSymbolicTraits) -> UIFont {
let descriptor = fontDescriptor.withSymbolicTraits(traits)
return UIFont(descriptor: descriptor!, size: 0) //size 0 means keep size as it is
}
func bold() -> UIFont {
return withTraits(traits: .traitBold)
}
func italic() -> UIFont {
return withTraits(traits: .traitItalic)
}
}
但是在"描述符"的代码值中返回零值。因此,最终无法以粗体或斜体格式转换文本。
任何帮助都是适合的。
答案 0 :(得分:0)
确保您要更改的字体支持这些特性..因为某些字体仅支持常规字体,而某些字体仅支持常规,粗体,斜体,粗体斜体。如果您使用系统字体尝试这些特征,它将返回这些特征,因为系统字体支持它们。