我正在尝试使用带有粗体和斜体文本的UILabel,到目前为止,我已经实现了这样的目标:
extension UIFont {
var isBold: Bool{
return fontDescriptor.symbolicTraits.contains(.traitBold)
}
var isItalic: Bool{
return fontDescriptor.symbolicTraits.contains(.traitItalic)
}
var normal: UIFont{
return with(traits: [])
}
var bold: UIFont {
return with(traits: .traitBold)
}
var italic: UIFont {
return with(traits: .traitItalic)
}
var boldItalic: UIFont {
return with(traits: [.traitBold, .traitItalic])
}
func with(traits: UIFontDescriptor.SymbolicTraits) -> UIFont {
guard let descriptor = self.fontDescriptor.withSymbolicTraits(traits) else {
return self
}
return UIFont(descriptor: descriptor, size: 0)
}
}
但是,我正在为iPhone和iPad开发,并且在故事板中,UILabel具有基于屏幕特征的文本大小变化,并且上面的代码不起作用。
有没有办法使它适用于这种变化形式?