美文网首页
iPhone手机设备

iPhone手机设备

作者: WillBetterMan | 来源:发表于2017-10-13 15:11 被阅读0次

    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尺寸.png

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

    3.iPhone6+的特殊之处:

    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/icon@2x.png/icon@3x.png三种分辨率的图片。
    需要注意的是,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手机设备

          本文链接:https://www.haomeiwen.com/subject/gxrlsxtx.html