說明
1.加粗斜體,字體樣式四苇,API無法同時(shí)設(shè)置斜體蛔琅,加粗罗售。
2.因此UI為字體樣式,需導(dǎo)入字體庫穆碎,導(dǎo)致增大包體積职恳。
-
UIFontDescriptorSymbolicTraits
可有效解決此問題
UIFontDescriptorSymbolicTraits的組合使用
/// SF-Pro-Display-HeavyItalic 斜體加粗
/// @param fontSize 字號(hào)
/// @param bold 加粗
/// @param italic 斜體
/// @param weight 加粗量級(jí)
+ (UIFont *)SFDisplayFontWithSize:(CGFloat)fontSize
bold:(BOOL)bold itatic:(BOOL)italic weight:(UIFontWeight)weight {
UIFont *font = [UIFont systemFontOfSize:fontSize weight:weight];
UIFontDescriptorSymbolicTraits symbolicTraits = 0;
if (italic) {
symbolicTraits |= UIFontDescriptorTraitItalic;
}
if (bold) {
symbolicTraits |= UIFontDescriptorTraitBold;
}
UIFont *specialFont = [UIFont fontWithDescriptor:[[font fontDescriptor] fontDescriptorWithSymbolicTraits:symbolicTraits] size:font.pointSize];
return specialFont;
}