1.邏輯分辨率和物理分辨率
| 型號(hào) | 屏幕尺寸(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 (像素密度) : 表示沿著對(duì)角線,每英寸所擁有的像素(pixel)數(shù)目,PPI的數(shù)值越高,代表顯示屏能夠以越高的密度顯示圖像,即通常所說(shuō)的分辨率越高,顆粒感越弱,圖像更清晰。

其數(shù)值根據(jù)設(shè)備物理分辨率和屏幕尺寸利用勾股定理計(jì)算。公式是(√(像素寬2+像素高2)) ÷ 屏幕尺寸。
iPhone4/iPhone4s的PPI的計(jì)算值:

3.iPhone6+的特殊之處:

圖片來(lái)源:一張圖幫你看懂 iPhone 6 Plus 屏幕分辨率
2.邏輯分辨率和物理分辨率
- 物理分辨率:硬件所支持的,顯示屏的最佳分辨率;是屏幕實(shí)際存在的像素行數(shù)乘以列數(shù)的數(shù)學(xué)表達(dá)方式。設(shè)計(jì)的時(shí)候用單位px,可以說(shuō)是物理分辨率尺寸
- 邏輯分辨率:軟件可以達(dá)到的;設(shè)計(jì)的時(shí)候用單位pt,可以說(shuō)是邏輯分辨率尺寸
3.iPhone圖標(biāo)適配
在iPhone3GS時(shí)代,我們?yōu)橐粋€(gè)應(yīng)用提供圖標(biāo)(或按鈕提供貼圖),因?yàn)槠鋝cale = 1,所以只需要icon.png。而iPhone4~6 Retina顯示屏,因?yàn)槠鋝cale = 2,需要制作額外的@2x高分辨率版本。
iPhone6+在實(shí)際渲染時(shí),downsampling/1.15(1242x2208->1080x1920),準(zhǔn)確的講,應(yīng)該是@2.46x。而蘋果為方便開發(fā)者用的是@3x的素材,然后再縮放到@2.46x上。
如果APP要同時(shí)兼容iPhone3GS~iPhone6+,則需要icon.png/icon@2x.png/icon@3x.png三種分辨率的圖片。
需要注意的是,iOS APP圖標(biāo)的尺寸和命名都需要遵守相關(guān)規(guī)范。
iPhone image適配 (UIImage 2類初始化方法)
1.+imageNamed:該方法使用系統(tǒng)緩存,適合表視圖重復(fù)加載圖像的情形。同時(shí)該API根據(jù)UIScreen的scale,自動(dòng)查找包含對(duì)應(yīng)高倍圖后綴名(@2x)的文件,如果沒找到設(shè)置默認(rèn)image.scale=1.0。因此,使用該方法,無(wú)需特意指定高倍圖后綴。在實(shí)際運(yùn)行時(shí),系統(tǒng)如果發(fā)現(xiàn)當(dāng)前設(shè)備是Retina屏(scale=2),會(huì)自動(dòng)尋找"*@2x.png"命名格式的圖片,加載針對(duì)Retina屏的圖片素材,否則會(huì)失真。
2.+imageWithContentsOfFile/+imageWithData:(scale:)/-initWithContentsOfFile:/-initWithData:(scale:)
這組方法創(chuàng)建的UIImage對(duì)象沒有使用系統(tǒng)緩存,并且指定文件名必須包含明確的高倍圖后綴。如果文件名包含@2x后綴,則image.scale=2.0;否則默認(rèn)image.scale=1.0,同樣對(duì)于Retina屏將會(huì)失真。
3.目前,適配iPhone6+時(shí),除了一些鋪滿全屏的大圖(LogoIcon、LaunchImage)需提供三倍圖,其他的小圖仍可沿用原有的二倍圖自適應(yīng)拉伸。