概念普及(如果已经理解概念了,就不用再往下看了)
点(point):逻辑分辨率,我们开发用到的frame里面的长度单位,就是point
像素(pix):物理分辨率,是指在由一个数字序列表示的图像中的一个最小单位。
缩放因子(scale factor):scale= 单位长度内的数量比(pixel/point),@2x的缩放因子就是2,可以在代码中通过[UIScreen mainScreen].scale拿到
像素密度(PPI):表示沿着对角线,每英寸所拥有的像素(pixel)数目,代表清晰程度,PPI值越高,图像会越清晰。@3x的像素密度最高
@1x,@2x,@3x:
@1x:non-retina屏,用于iphone1-3,几乎不用考虑
@2x:3:2 retina屏,用于iphone4/4s/5/5s/6/6s
@3x:16:9 retina屏,用于iphone6p/7p等plus版
即缩放因子,@nx表示 1 point = n pix
一般情况:
目前大多数APP的开发和UI有一套约定俗成的规矩。
UI按照宽度的逻辑像素为375给图,开发根据设备逻辑像素的大小进行等比例缩放。
但是注意有一些bar的高度不会随着设备改变,比如导航栏高度为44,statusBar高度为20,底部tabbar高度为49
一像素的线:1.0 / [UIScreen mainScreen].scale 。较真的话这个博客写的不错http://www.cnblogs.com/smileEvday/p/iOS_PixelVsPoint.html