传统字体 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;    ihpne 4,5,5s,6,7,8等为2;      iphone plus X为3
// @3x屏幕字体为@2x字体的1.5倍大
#define kFontAuto(size) [UIFont systemFontOfSize:(size * kScreenScale / 2.0)] 
内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!