當前位置:編程學習大全網 - 人物素材 - iPhone6和iPhone6p的屏幕分辨率變化及適配

iPhone6和iPhone6p的屏幕分辨率變化及適配

iPhone6的物理尺寸比5s放大了17.5%,同樣物理分辨率也增加了17.5%,從1136* 640提升到1334* 750,這樣同比的增長結果就是像素密度ppi與5s保持不變,依然是326ppi(4s也是這個值),也就是說6跟5s相比,屏幕的清晰度不變,只是尺寸變大了。如果針對5s用像素定位布局做出來的app界面,尤其是依賴568和320這兩個數字的界面,很可能出現右邊和下邊出現空白,因為邏輯分辨率變成了667* 375。

舊的應用不做適配的話,兼容的解決方案是等比放大模式,也就是將原來以568* 320為參考系的界面,所有的邏輯點位置* 1.175對應到667* 375之下。而想使用非兼容模式需要通過設置667* 375對應的開屏圖或者launch.storyboard來顯示告訴操作系統使用非等比放大模式。

而到了iPhone6p就又有壹點不壹樣了,因為6p的分辨率1920* 1080,與5s和6相比,其分辨率的增長比率超過了屏幕物理尺寸的增長比例,導致像素密度ppi有顯著增長,從326增加到401,也就是說不但屏幕尺寸變大了,清晰度也提高了,而且清晰度的提高大於屏幕尺寸的提高率。

從程序開發的角度來看,6和6p如果不做適配,程序肯定會不適應,其實每壹代iPhone革新都需要做app適配嘛。但這壹代的工作量最大。因為適配通常有兩方面工作:壹是頁面布局的調整,二是圖標尺寸的調整。

3->4的時候屏幕尺寸沒變,只有清晰度變了,所以頁面布局不用調整(布局是基於點——邏輯分辨率的,不是基於像素——物理分辨率的),只需要把素材圖標的像素*2變成@2x,這樣看起來整個頁面布局還跟以前壹樣,只是圖片和圖標變得更清晰了。

4->5的時候屏幕尺寸變了(寬度沒變,只有高度增加了),增加了豎向的空間,但是清晰度沒變,所以頁面布局需要調整(不調整的話老的應用是居中顯示,屏幕上下會留黑,這就是5對4的兼容模式),但調整起來應該也很容易,只需要讓豎向顯示更多的內容或者把原來的內容在豎向拉開間距即可。素材圖標還是@2x不用調整,同樣的圖標在手機上顯示出來,依然是跟3和4的時候壹樣大。

5->6的時候屏幕尺寸變了(橫向和豎向都增加了),但是清晰度沒變,所以跟上壹條壹樣只需要調整布局,唯壹不同的是4->5只需要調整豎向布局,5->6橫向豎向都有增加的空間都需要調整。所以在這次的兼容模式也跟4->5有區別了,因為兼容模式的原則是保持等比,4->5的時候只有壹個維度增加了,所以豎向居中就可以了,但5->6的時候兩個方向都增加了,而且是等比增加的,那麽兼容模式就不是4周都留黑邊了,而是采用了放大的方式,又因為5->6屏幕分辨率是等比放大,故兼容模式把界面等比放大以後,依然是充滿屏幕,只是圖標的物理面積增加大,清晰度也變低了壹點而已。

5->6p的時候屏幕尺寸和清晰度都變了。所有不但要調整布局,還要重新做素材圖標的清晰度,改成@3x的分辨率。如果不調整的話,那不但右邊和下邊會留空或者留黑,而且原來的布局的圖標物理尺寸也比以前的小了(圖標分辨率尺寸沒變,但是6p的ppi增大了,導致物理尺寸變小)。

而6和6p是壹起出的,而且屏幕尺寸還不壹樣,所以開發要同時兼顧這兩種調整,工作量比以前都要大。然後好消息是Xcode為了今後考慮推出了Autolayout自動布局,通過設置不同頁面空間之前的約束關系來簡化實現,不必對所有的頁面都進行適配硬編碼,這次對布局的調整完成以後,今後屏幕尺寸再變化需要做的工作量就少多了,甚至沒有。(其實針對每種屏幕尺寸繼續做硬編碼也沒關系,iPhone的機型畢竟還是有限的,要是換到Android不用自動布局都不行。)

另外不做適配的情況下,舊的應用會顯示的像老人機那樣放大,這是蘋果硬件設計上為了舊應用的兼容策略,並且6和6p也並不是第壹次采用放大策略,實際上從iPhone4的163ppi提升到iPhone4S的326 retina ppi,其放大策略更是直接放大了2倍,只不過是由於屏幕尺寸沒變,所以前後對比沒有變化而已。另外,不管是6的1334* 750,還是6p的1920* 1080,其高寬比都是1.78,跟iPhone5s的1136* 640下的高寬比是壹致的,也就是說以前程序的布局,在不做適配的情況下,只要等比拉伸顯示即可填充滿6和6p的全屏幕,但結果也就是每個顯示單元不但變大,而且變模糊了,尤其是在6p下更明顯,因為拉伸的幅度大得多。

說了這麽多基本還是理論方面,至於程序上要怎麽做,壹圖勝千言,看懂下面這個圖基本上對iPhone適配布局就能完全遊刃有余了。 The Ultimate Guide To iPhone Resolutions

----------------------------更新--------------------------

iPhone X要出了,又多了壹個適配項目。根據官方適配指南,iPhone的邏輯像素是375* 812,采用3x轉換關系。那麽物理像素應該為1125* 2436,根據這個長寬物理像素計算出對角線物理像素為2683,而iPhone又聲稱其屏幕物理尺寸為5.8英寸,則其像素密度為2683/5.8=462,比之前6p的401又增加了不少,難怪這次的屏幕叫做super retina超視網膜屏幕。

但按照方便喬幫主對iPhone4s retina的解釋,ppi超過326就已經無法被視網膜分辨了、那麽再進壹步提高ppi的意義何在?或者說,ppi並沒有提高,而是像6p壹樣在顯示1126* 2436這個尺寸圖像之前又經過down sample處理了?查了壹下資料,iPhone X公布出來的ppi是458,那麽反算壹下2683/458=5.85,也就是說iPhone X的實際屏幕尺寸是5.85英寸。

而關於retina和ppi超過300肉眼無法分辨這個結論,基本可以斷定為喬幫主為了給iPhone4S和iPad3的宣傳炒作造勢而故意營造出來的說法,根據其他壹些權威專家的說法,人類肉眼能夠分辨的ppi極限應該在500左右,也就是說現在的手機基本快接近極限了。

最後,屏幕上端的劉海也不是隨便來的,三個圓相切也很有美感的嘛。。。

  • 上一篇:白色底圖插畫-白底圖怎麽做
  • 下一篇:問幾個關於無雙大蛇z的問題
  • copyright 2024編程學習大全網