Detect whether a font is bold/italic on iOS?

前端 未结 4 1328
眼角桃花
眼角桃花 2020-12-15 06:21

Given a UIFont or a CTFont, how can I tell whether the font is bold/italic?

4条回答
  •  Happy的楠姐
    2020-12-15 06:34

    If you want to do this with Swift 2.0:

    extension UIFont {
        var isBold: Bool {
            return fontDescriptor().symbolicTraits.contains(.TraitBold)
        }
    
        var isItalic: Bool {
            return fontDescriptor().symbolicTraits.contains(.TraitItalic)
        }
    }
    

    Usage:

    let font: UIFont = UIFont.preferredFontForTextStyle(UIFontTextStyleHeadline)
    if font.isBold {
      print("it's bold..")
    }
    

提交回复
热议问题