直接上demo
#define IOS_VERSION_10_OR_LATER (([[[UIDevice currentDevice]systemVersion]floatValue]>=10.0)? (YES):(NO))
#define AdapationLabelFont(n) (IOS_VERSION_10_OR_LATER?((n-1)*([[UIScreen mainScreen]bounds].size.width/375.0f)):((n)*([[UIScreen mainScreen]bounds].size.width/375.0f)))
看过很多文章都是直接表达 iPhone 456 字体大小是一样的。6p是1.5倍但是456的宽度并不一样可能有些必要的内容6可以显示完整45上面却不行,所以封装一个宏,根据屏幕宽度来适配字体大小。IOS_VERSION_10_OR_LATER是判读是否 iOS10 ,因为iOS10之后同样字体比之前大一号
用法
[UIFont systemFontOfSize:AdapationLabelFont(<#n#>)];
[UIFont boldSystemFontOfSize:AdapationLabelFont(<#n#>)];