1.從iPhone3GS開始,寬高畫素點分別是320*480,螢幕尺寸3.5寸,螢幕比例4:3
2.iPhone4和4S,寬高畫素點變成是640*960,但是從程式角度依然是320*480(這是因為蘋果的retina顯示屏的原因,在retina中,一個程式畫素對應的是可見畫素的兩倍)螢幕尺寸3.5寸,螢幕比例4:3
3.iPhone5和5S,寬高畫素點是640*1136(程式角度是320*568),螢幕尺寸4寸,螢幕比例16:9
4.iPhone6解析度375x667點,畫素750x1334 螢幕4.7寸
5.iPhone6Plus解析度414x736點,畫素1242x2208 螢幕5.5寸
典型iPhone應用程式(遊戲除外),很多是上面一個導航欄,下面一個工具欄或者標籤欄, 中間一大塊用於顯示的內容區。iPhone 5拉長了,對於程式的適配,也不算麻煩,內容區的內容基本是動態生成的。適配時候可以簡單上下不變,中間的內容區拉長就行了。注意,導航欄和工具欄的高度也是44個點。下面是同一程式,在iPhone 4跟iPhone 5的對比。
2014年,iPhone 6, iPhone 6 Plus釋出後,情況又有新的變化。再次比較所有iPhone機型。
螢幕尺寸再度分裂。但是我們比較iPhone 5 跟 iPhone 6的寬高比例。
可以看出,iPhone 6跟iPhone 5雖然螢幕尺寸改變了,但是它們的比例是不變的。都是 9 ÷ 16 = 0.5625 的螢幕。
當舊的iPhone 5程式執行在iPhone 6上面,假如沒有經過適配。舊程式自動等比放大,鋪滿新手機,舊程式也可以正常執行。這種方案可算是自動適配。但因為舊程式拉伸了,整體看起來有點虛,也不能更好利用大屏空間。
當需要開發者手動適配的時候,跟iPhone 4過渡到iPhone 5一樣,在新程式中,指定一張新的啟動圖片。當指定了啟動圖,螢幕解析度就已經變成應有的大小,這時候利用AutoLayout進行佈局,同一份程式碼,就可以支援多個機型。新手機的螢幕更大,有更多的虛擬點,可以顯示更多的內容。
值得注意一點是,iPhone 6 Plus。它的寬高是414 × 736個點,3x模式,理想上來說,應該有1242 × 2208畫素。但iPhone 6 Plus的實際畫素是 1080 × 1920,是比理想值要少一點的。iPhone 6 Plus的處理方式是將程式整體稍微縮小一點。解析度很高,這點區別,實際上也看不出來。這樣處理,可以使得44個點的點選區域約束,在物理上的真實長度,基本保持不變。
1.從iPhone3GS開始,寬高畫素點分別是320*480,螢幕尺寸3.5寸,螢幕比例4:3
2.iPhone4和4S,寬高畫素點變成是640*960,但是從程式角度依然是320*480(這是因為蘋果的retina顯示屏的原因,在retina中,一個程式畫素對應的是可見畫素的兩倍)螢幕尺寸3.5寸,螢幕比例4:3
3.iPhone5和5S,寬高畫素點是640*1136(程式角度是320*568),螢幕尺寸4寸,螢幕比例16:9
4.iPhone6解析度375x667點,畫素750x1334 螢幕4.7寸
5.iPhone6Plus解析度414x736點,畫素1242x2208 螢幕5.5寸
典型iPhone應用程式(遊戲除外),很多是上面一個導航欄,下面一個工具欄或者標籤欄, 中間一大塊用於顯示的內容區。iPhone 5拉長了,對於程式的適配,也不算麻煩,內容區的內容基本是動態生成的。適配時候可以簡單上下不變,中間的內容區拉長就行了。注意,導航欄和工具欄的高度也是44個點。下面是同一程式,在iPhone 4跟iPhone 5的對比。
2014年,iPhone 6, iPhone 6 Plus釋出後,情況又有新的變化。再次比較所有iPhone機型。
螢幕尺寸再度分裂。但是我們比較iPhone 5 跟 iPhone 6的寬高比例。
可以看出,iPhone 6跟iPhone 5雖然螢幕尺寸改變了,但是它們的比例是不變的。都是 9 ÷ 16 = 0.5625 的螢幕。
當舊的iPhone 5程式執行在iPhone 6上面,假如沒有經過適配。舊程式自動等比放大,鋪滿新手機,舊程式也可以正常執行。這種方案可算是自動適配。但因為舊程式拉伸了,整體看起來有點虛,也不能更好利用大屏空間。
當需要開發者手動適配的時候,跟iPhone 4過渡到iPhone 5一樣,在新程式中,指定一張新的啟動圖片。當指定了啟動圖,螢幕解析度就已經變成應有的大小,這時候利用AutoLayout進行佈局,同一份程式碼,就可以支援多個機型。新手機的螢幕更大,有更多的虛擬點,可以顯示更多的內容。
值得注意一點是,iPhone 6 Plus。它的寬高是414 × 736個點,3x模式,理想上來說,應該有1242 × 2208畫素。但iPhone 6 Plus的實際畫素是 1080 × 1920,是比理想值要少一點的。iPhone 6 Plus的處理方式是將程式整體稍微縮小一點。解析度很高,這點區別,實際上也看不出來。這樣處理,可以使得44個點的點選區域約束,在物理上的真實長度,基本保持不變。