iPhone手机设备

1.逻辑分辨率和物理分辨率

型号 屏幕尺寸(inch) 逻辑分辨率(point) logic pixel 缩放因子(scale f actor) 物理分辨率(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 1080x1920 (downsampling) @3x (1242x2208->) 401

注释
1.单位inch (英寸) : 1 inch = 2.54cm = 25.4mm

2.PPI (像素密度) : 表示沿着对角线,每英寸所拥有的像素(pixel)数目,PPI的数值越高,代表显示屏能够以越高的密度显示图像,即通常所说的分辨率越高,颗粒感越弱,图像更清晰。

iPhone手机设备_第1张图片
iPhone尺寸.png

其数值根据设备物理分辨率和屏幕尺寸利用勾股定理计算。公式是(√(像素宽²+像素高²)) ÷ 屏幕尺寸。
iPhone4/iPhone4s的PPI的计算值:

3.iPhone6+的特殊之处:

iPhone手机设备_第2张图片
iPhone6+的特殊之处.png

图片来源: 一张图帮你看懂 iPhone 6 Plus 屏幕分辨率

2.逻辑分辨率和物理分辨率

  • 物理分辨率:硬件所支持的,显示屏的最佳分辨率;是屏幕实际存在的像素行数乘以列数的数学表达方式。设计的时候用单位px,可以说是物理分辨率尺寸
  • 逻辑分辨率:软件可以达到的;设计的时候用单位pt,可以说是逻辑分辨率尺寸

3.iPhone图标适配

在iPhone3GS时代,我们为一个应用提供图标(或按钮提供贴图),因为其scale = 1,所以只需要icon.png。而iPhone4~6 Retina显示屏,因为其scale = 2,需要制作额外的@2x高分辨率版本。
iPhone6+在实际渲染时,downsampling/1.15(1242x2208->1080x1920),准确的讲,应该是@2.46x。而苹果为方便开发者用的是@3x的素材,然后再缩放到@2.46x上。
如果APP要同时兼容iPhone3GS~iPhone6+,则需要icon.png/[email protected]/[email protected]三种分辨率的图片。
需要注意的是,iOS APP图标的尺寸和命名都需要遵守相关规范。

iPhone image适配 (UIImage 2类初始化方法)
1.+imageNamed:该方法使用系统缓存,适合表视图重复加载图像的情形。同时该API根据UIScreen的scale,自动查找包含对应高倍图后缀名(@2x)的文件,如果没找到设置默认image.scale=1.0。因此,使用该方法,无需特意指定高倍图后缀。在实际运行时,系统如果发现当前设备是Retina屏(scale=2),会自动寻找"*@2x.png"命名格式的图片,加载针对Retina屏的图片素材,否则会失真。
2.+imageWithContentsOfFile/+imageWithData:(scale:)/-initWithContentsOfFile:/-initWithData:(scale:)
这组方法创建的UIImage对象没有使用系统缓存,并且指定文件名必须包含明确的高倍图后缀。如果文件名包含@2x后缀,则image.scale=2.0;否则默认image.scale=1.0,同样对于Retina屏将会失真。
3.目前,适配iPhone6+时,除了一些铺满全屏的大图(LogoIcon、LaunchImage)需提供三倍图,其他的小图仍可沿用原有的二倍图自适应拉伸。

你可能感兴趣的:(iPhone手机设备)