ios开发的frame、物理屏幕尺寸和图片分辨率

时间:2023-03-09 16:58:56
ios开发的frame、物理屏幕尺寸和图片分辨率

型号

屏幕尺寸(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。