打印iOS系統(tǒng)中可用的字體
for (NSString *fontFamilyName in [UIFont familyNames]) {
NSLog(@"family: '%@'", fontFamilyName);
for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {
NSLog(@"\tfont:'%@'", fontName);
}
NSLog(@"--------------");
}
部分打印結(jié)果:
2018-02-27 13:54:47.709188+0800 testBanner[14732:429085] font:'HiraginoSans-W6'
2018-02-27 13:54:47.709867+0800 testBanner[14732:429085] --------------
2018-02-27 13:54:47.710253+0800 testBanner[14732:429085] family: 'PingFang SC'
2018-02-27 13:54:47.710507+0800 testBanner[14732:429085] font:'PingFangSC-Medium'
2018-02-27 13:54:47.710716+0800 testBanner[14732:429085] font:'PingFangSC-Semibold'
2018-02-27 13:54:47.711009+0800 testBanner[14732:429085] font:'PingFangSC-Light'
2018-02-27 13:54:47.711529+0800 testBanner[14732:429085] font:'PingFangSC-Ultralight'
2018-02-27 13:54:47.711665+0800 testBanner[14732:429085] font:'PingFangSC-Regular'
2018-02-27 13:54:47.711768+0800 testBanner[14732:429085] font:'PingFangSC-Thin'
2018-02-27 13:54:47.711979+0800 testBanner[14732:429085] --------------
2018-02-27 13:54:47.712102+0800 testBanner[14732:429085] family: 'Myanmar Sangam MN'
從UI拿到的設計圖中字體基本上都是PingFangSC的劝篷,.iOS9.0以后系統(tǒng)自帶了平方字體PingFangSC瘩燥,但是在iOS9.0以前适掰,是沒有平方字體PingFangSC的合冀。之前代碼實現(xiàn)的實現(xiàn)的時候沒有注意該問題抒钱,導致代碼UIFont *font = [UIFontfontWithName:@"PingFangSC-Regular"size:15]
在iOS8系統(tǒng)上運行font結(jié)果會為nil, 最終將由系統(tǒng)決定字體和字體大小瞬欧,與設計師的設計圖中字體效果會不一樣。
解決方案:
1)判斷系統(tǒng)晦鞋,在9.0及以上系統(tǒng)中使用PingFangSC字體,在低版本中使用其他字體代替
2)導入PingFangSC字體