iOS平台家族成員主要包括iPhone、iPod Touch和iPad,但是各類設備的分辨率各不相同,目前存在的尺寸主要有:
iOS設備的尺寸多種多樣,此外,屏幕的分辨率也有多種,總結如下表所示:
其中,ppi(pixel per inch)是像素密度單位,即像素/英寸。例如401ppi,表示每英寸屏幕上有401個像素。ppi的計算,以iPhone 6 Plus為例:
屏幕分辨率1920 x 1080, 屏幕尺寸5.5英寸(手機屏幕對角物理線的長度),
1920 x 1920 + 1080 x 1080 = 4852800, 開根號為:2202.907... (根據勾股定理:直角邊的平方和等於斜邊的平方)
2202.907 / 5.5 = 400.528 ppi, 大約就是401ppi
iOS提供了三種分辨率,分別是:
1)資源分辨率:資源圖片的大小,單位是像素。
2)設計分辨率:邏輯上的屏幕大小,單位是點。我們在Interface Builder設計器中的單位和程序代碼中的單位都是設計分辨率中的“點”。
3)是以像素為單位的屏幕大小,所有的應用都會渲染到這個屏幕上展示給用戶。
iOS提供了一種考慮分辨率的簡單方式,例如,在iPhone5和iPhone6之前,iPhone的屏幕大小為320x480點(請注意:這里的單位是“點”而不是像素)。在此之前,iPhone的屏幕分辨率是320x480像素;自從iPhone4采用了Retina屏幕,iOS設備的實際分辨率就變成了上述分辨率與縮放因子的乘積。這意味着雖然在小設備上對元素進行定位時使用的是數字320x480,但實際的像素個數可能更多。例如,iPhone 4(s)、5(s)和6的縮放因子為2,那么iPhone 4s的實際分辨率為(320x2)x(480x2)=640x960像素。iPhone 5的屏幕更大,為320x568點,即640x1136像素。其他屏幕尺寸和分辨率如下表所示:
而至於iPhone 6(s) plus更加與眾不同,其縮放因子為3,這意味着屏幕上點每個點都表示9個像素。以點為單位時,含有414x736點;在縮放因子為3的情況下,這相當於1242x2208像素。但是實際上並不是這樣,從上表可以看出是1080x1920,而“內部”分辨率為1242x2208。實際上,內部分辨率更高,但iOS設備會自動縮放內容,以適應1080x1920的分辨率。
iPhone 6 Plus和 6S Plus是最為特殊的設備,資源分辨率與屏幕分辨率的比例是1.15 : 1, 而其他的設備比例是1 : 1。不同的人群關注的分辨率也是不同的,UI設計人員主要關注的是資源分辨率,開發人員主要關注的是設計分辨率,而一般用戶主要關注的屏幕分辨率。
你需要知道的要點是,當你創建應用程序的時候,iOS將考慮縮放因子,以最大可能的分辨率顯示應用程序及界面,而您幾乎無需為此做任何工作。
參考資料: