型号 | 屏幕尺寸(inch) | 逻辑分辨率(point) | 缩放因子(scale factor) | 物理分辨率(pixel) | 像素密度(PPI) |
iPhone3GS | 3.5 | 320 * 480 | @1x | 320 * 480 | 163 |
iPhone4/4s | 3.5 | 320 * 480 | @2x | 640 * 960 | 326 |
iPhone5/5s | 4 | 320 * 568 | @2x | 640 * 1136 | 326 |
iPhone6/6s | 4.7 | 375 * 667 | @2x | 750 * 1334 | 326 |
iPhone6Plus/6s Plus | 5.5 | 414 * 736 | @3x | 1242 * 2208 | 401 |
图1
物理屏幕尺寸:一般用对角线的长度(英寸)来衡量,也就是你看到的实际大小。
逻辑分辨率是与物理屏幕尺寸对应的,只是为了程序员更好的控制控件的位置,其反应到程序就是我们常用的frame。从图1中可以看到,iphone3GS和iphone4/4s的物理屏幕大小相同,其frame(逻辑分辨率)也对应相同;iphone4/4s和iphone5/5s的屏幕尺寸不同,其逻辑分辨率也不同。
物理分辨率:指液晶屏最高可显示的像素数,也就是一块屏幕中含有多少个发光单元。同样大小的屏幕,其发光单元的数量在制造的时候就已确定。比如iphone4/4s相对于iphone3GS来说,其屏幕大小没变但是其物理分辨率就提高了,视觉效果就是变清晰了,也就是颗粒度变小了。
对于一个UIImage元素来说,如果不设置其frame,则其在屏幕中的大小会由图片的分辨率与该设备的逻辑分辨率决定,比如有一张320*480分辨率的图片,分别显示在未设置frame的UIImage的iphone3GS和iphone4/4S上,其逻辑分辨率大小则为320*480和160*240。 实际开发中UI给的图片都是根据物理分辨率来给的,如果以iphone6/6S作为设计模板,那你拿到的高保真图片则应该是750 * 1334像素,在设置控件frame的时候,则应该将高保真的图片尺寸(根据图片的像素计算得出)/2。
转载于:https://www.cnblogs.com/shengzaiwen/p/7200209.html