ios 判断屏幕显示是@2x还是@3x来调用字体大小

Posted 布尔-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 判断屏幕显示是@2x还是@3x来调用字体大小相关的知识,希望对你有一定的参考价值。

传统font大小适配可能会根据屏幕宽度与iphone5或iphone6宽度的一个比例来适配。但如果有这样一个需求,在显示@2x图片的手机上显示一种字体,在显示@3x图片的手机上显示另一个固定大小的字体。

所以这里的重点是要区分手机屏幕显示图片是@2x型还是@3x型的。

CGFloat scale = [UIScreen mainScreen].scale,就它了。UIScreen的scale属性在iphone 5,6,6s,7,8打印都是2,在plus,iPhone X打印都是3。所以就有下面的宏定义

/* 字体相关 */

#define kScreenScale [UIScreen mainScreen].scale  // iphone 3gs为1;4,5,5s,6,7,8等为2;plus X为3

// @3x屏幕字体为@2x字体的1.5倍大

#define kFontAuto(size) [UIFont systemFontOfSize:(size * kScreenScale / 2.0)]

 

以上是关于ios 判断屏幕显示是@2x还是@3x来调用字体大小的主要内容,如果未能解决你的问题,请参考以下文章

拥有更大图像尺寸的风险是什么?

React Native应用程序不会将@ 1x,@ 2x或@ 3x图像加载到正确的屏幕密度

1x2x3X4X5X6x7……x100.积的个位是多少?

iOS 8 - 启动屏幕文件的背景渐变

iOS App Thinning - 如何根据屏幕尺寸实现它?

手机加载优化 - 2x3x图