我正在编写单元测试,检查生成的NSAttributedString的格式。
我可以像这样提取字体:
if let font = attributedString.attributesAtIndex(0, effectiveRange: nil) as? NSFont {
...
}考虑到这个NSFont实例,我如何检查它是否粗体?
发布于 2016-07-15 21:11:07
您可以检查您的字体特征如下:
let descriptor = font.fontDescriptor
let symTraits = descriptor.symbolicTraits
let traitSet = NSFontTraitMask(rawValue: UInt(symTraits))
let isBold = traitSet.contains(.BoldFontMask))但我不确定,对于所有看似大胆的字体,isBold是否会是true。
发布于 2018-04-02 03:06:04
Swift 4的最新答案,并具有NSFont扩展:
extension NSFont {
var isBold: Bool {
return fontDescriptor.symbolicTraits.contains(.bold)
}
}https://stackoverflow.com/questions/38400099
复制相似问题