轉:APP適配IOS8,iPhone6和Plus截圖簡要說明

原文:http://www.zcool.com.cn/article/ZMTE0MjMy.html

有幸在9月25日拿到了iP6和iP6 Plus的真機,恰好又要做適配APP的工作(從iphone5上適配到iphone6和ip6 plus上),所以在真機上研究了下蘋果官方在不同分辨率下對系統APP所做的適配。同時在網上也沒找到相關的真機對比截圖說明什麼的,又有朋友問我要IP6和PLUS的真機截圖回去自己研究,既然這樣,那麼幹嘛不利用自己已有的資源,讓更多的設計師受益呢?所以那就說點什麼吧,拋磚引玉,希望大家可以共同研究,少走些彎路,共同成長。

之前看過@jingdesign 的關於適配ip6的文章:快速適配iPhone6及plus的訣竅

還有@羅磊的文章:Web開發者和設計師必須要知道的 iOS 8 十個變化作爲參考(有摘抄部份)。

------------------------------------------------------------------

正文:

首先我們先看一下iphone5,iphone6和iphone6 plus的一些數據:

                                                                                      iphone5/s       iPhone 6          iPhone 6 Plus
尺寸                                                                                 4”                  4.7”                 5.5”
Viewport’s device-width (in CSS pixels)                       320                 375                   414
Viewport’s device-width (Android設備同分辨率參考)   360                 360                   400
Device Pixel Ratio 像素比                                                2                     2                       3  (近似值)  
Rendered Pixels 渲染像素 (默認 viewport size * dpr)      640x1136       750×1334         1242×2208
Physical pixels 物理像素(手機顯示像素)                       640x1136       750×1334         1080×1920
圖片資源後綴名                                                                @2x               @2x                  @3x

Status Bar 狀態欄高 (px)                                                  40                   40                     60

Title Bar   導航條高 (px)                                                   88                   88                     132

Tab Bar   底欄高 (px)                                                       98                   98                     147

桌面 icon  (px)                                                                 120                 120                   180



這裏是給前端參考的:iPhone 6與 iphone 5一樣,像素比都是2,但是另一方面 iPhone 6 plus 401的dpi真實的像素比值應該大約是2.60。爲了解決這個問題,蘋果又整了個新概念rendered pixels 渲染像素,如果像素比是3x,那麼理論上一個css寬設爲414px的屏幕應該擁有1242px的物理像素(現實中是1080px,小了13%)。(像素比的計算方法是:前端的代碼是把iPhone4,5的屏幕寬度寫爲320px,而此時 iphone4,5的所有產品實際寬的像素是640PX,所以像素比是2,iphone6的 CSS 中是375px,實際像素是750px,像素比也是2,而 plus 就不是了。)

因此,如果你使用一個3x的圖給高清的安卓設備,同樣這樣圖也會適配 iPhone 6 Plus 但是iPhone 的瀏覽器在渲染在屏幕之前首先會調整圖片大小。

然後我把3個屏幕的App Store界面截圖拿來對比一下:(無法查看原圖?),點擊這裏可以查看高清大圖

從圖上可以看出來:

一:Title bar和Tab bar 高度

Title bar : ip5/6的 高度是128px,plus 的高度是192px  (128x1.5=192)

Tab bar  : ip5/6的 高度是98px , plus 的高度是147px  (  98x1.5=147)

ip5和ip6的Title bar和Tab bar的高度沒變,並且tab bar的icon的大小也沒變,只是整欄的寬拉伸了,所以IOS工程師在早期開發的時候如果用的是Autolayout自動佈局會很爽,如果是佈局寫死了,那真是要一個界面一個界面的改了。

結論:類似的狀態欄高度不變,可以直接拉伸寬度調整間距即可,還有設置界面等,甚至代碼是自動佈局的話間距都不用調。

二:Tab bar的icon大小

圖中標識的是排行榜的大小:ip5=46x46px , ip6=46x46px,ip6plus=69x69px(是46px的1.5倍)。

結論:ip6的icon,大多可以直接使用ip5的資源,plus的icon需要把ip5的icon資源x1.5倍即可,(我們當時開發xx軟件的時候,android的設計尺寸是基於1080P的,我把android的資源拿出來用在plus上是完全可以的,所以開發android用的是1080P屏幕的設計師有福了,以上劃線文字是原文,有錯誤不嚴謹的地方,1080P,可以將就用,我曾經把我們的 android 的1080P資源名稱改成@3x,沒調整大小直接放到 xcode裏,模擬器跑起來 icon是很清楚的,這也可能是我們的 android 並不是640直接縮放到1080,而是每個界面手動調整的,所以資源可以暫用到 plus 上,我初期剛適配的時候是這麼幹的,後來發現部分圖標無法識別,所以現在我又在把那些資源一個一個手動的調整成 plus 可用的 3倍(@3x)大小。)


(在解釋一下:例如ip5的某個icon名爲:[email protected],那麼我把android裏面相同的icon拿過來改名子爲 [email protected],直接扔到[email protected]的同文件夾裏面,xcode可以識別爲plus的資源的,並且模擬器跑起來後icon的確變成高清的了,和別的沒有替換的區別很明顯。)

<img src="lores.png" srcset="hires.png 2x, superhires.png 3x">

在上面這段代碼的例子中,iPhone 6 Plus 的像素比是3x,它會加載superhires.png這張圖片,而iPhone 5s,iPhone 6 則會加載hires.png這種圖,其餘的則加載lores.png。

順便說一句:以前IOS6,IOS7的時候看到app store首頁更改了排版的樣式,之前的樣式記得是每個分類兩排向下無限列出,現在界面內的每個分類使用的是橫排可以無限滑動的樣式,也就是可以不用固定在一屏內,ip6出現前並不理解這種排版樣式,也沒有發現這個排版的好處,當ip6和plus出現後,這種排版的樣式的好處則顯而易見,因爲這樣會更容易方便的適配各種分辨率的屏幕。所以,當你的APP單個界面有多個分類並且內容很多需要排列的時候,建議參考app store的樣式,如果有更好的樣式也可以分享出來哦。


根據 app store 的截圖來看,在未來設計 APP 的時候,資源有限的情況下,建議設計2套尺寸:

以640x1136px爲基礎去適配 iphone4,5,6,(ip6可以在ip5的基礎上空白區域拉伸,位圖則要等比縮放),

以1242x2208px的尺寸去設計 iphone6 plus, 因爲 xcode 的工程文件及 plus 代碼及截圖都是1242x2208px的分辨率,只是屏幕物理大小是1080x1920px,所以按照1242x2208px的尺寸去設計,plus 上顯示的物理大小纔會正常,並且切圖也纔會是@3x.如果用1080P切圖,圖標資源肯定會不清楚。(如果你們的設計師人數足夠多,當然iphone6也要單獨設計一套。)

------------------------------------------------------------------

三:banner

ip5的banner是640x260px,ip6是750x304px (即ip5的640x260px等比縮放後的大小)。

ip6 plus排版已變化,banner圖的樣式變的和ipad類似,顯示3個,其中1個主顯示,2個是可預覽的。主大小爲795x387px. 比例和ip5,6都不一樣,所以各家app可能需要根據自己的需要去重新排版調整了哦。

結論:類似的位圖,ip6等比放大即可,plus需要單獨重新排版調整。



在看一下手機拍的真機截圖,Title和Tab bar在真機上的物理高度都是相同的根據@十萬個為什麼的提醒,此處物理高度並不相同,非常接近,我自己重新計算了下,iphone5和 iphone6的 Title bar物理高度爲 9.971mm =(128*88.51 /1136),iphone6 plus 的Title bar物理高度爲10.591mm =(192*121.8 /2208)。不過此處的數據用處並不大,只爲求解物理高度是否相同,所以大家不用記,不過還是要感謝@十萬個為什麼的認真。


------------------------------------------------------------------

四:相冊

在看相冊的變化(ip6 plus 對比 ip6截圖),類似的位圖應該都是等比放大的,並沒有像 app store單行增加數量,ip6相冊單個圖片的大小是186x186px,plus 的單個大小是309x309px,

所以類似相冊這樣的界面, 可以等比縮放就可以了。

------------------------------------------------------------------

五:桌面 Icon:

在來看一下桌面icon的大小對比

iphone5=120x120px      iphone6=120x120px     iphone6 plus=180x180px (是iphone5/6的1.5倍,即@3x)

結論:icon要出一套180x180px的尺寸。

同理:關於啓動圖,也就是閃屏,如果你的webapp有一個啓動圖,那麼你又得增加兩行代碼適配新 iPhone 了。閃屏iPhone 6對應的圖片大小是750×1334px,iPhone 6 Plus 對應的是1242×2208px.


------------------------------------------------------------------

六:自動佈局及 svg 等

蘋果好像在IOS6的時候就提供了一種解決方案,自動佈局Auto Layout :Auto Layout Guide: Introduction,如果設計師瞭解html和css會容易理解一些,我自己也只是瞭解html的皮毛,設計師在設計界面的時候標註的數據最好不要寫固定的多少px,使用絕對定位那是iP4之前的方案,尤其現在出來了ip6和plus,如果現在還用絕對定位,設計師和工程師效率會很低,所以我們和工程師溝通的時候最好使用的是靠左,右多少,居中,及控件在屏中大小及位置是幾分之幾之類的標註,Auto Layout可以根據不同的設備尺寸自動計算UIView的frame,這樣會更有效方便的適配更多的尺寸。

Xcode6已經開始支持 svg 格式的矢量圖片了,和我們的工程師溝通說可以直接出一張 svg 的圖片即可,我用 PS 的一個插件zeick可以導出 svg ,但是這插件是收費的,不知道大家有沒有更好的方式,可以用 PS  CC導出svg格式的工具/插件?


------------------------------------------------------------------

所有的ip6&plus真機截圖放在附件裏面供大家下載研究。(壓縮包是mac自帶壓縮的,在windows解壓可能會亂碼,哪位朋友方便可以重新上傳一次分享給大家哦。)   下載鏈接:     http://pan.baidu.com/s/1gdxhv5x

轉載請保留以下信息,因爲我還會針對不嚴謹的地方及新的發現隨時修改。(最後更新於2014-10-29  09:50)

————————————————————————————————————————————

本文轉載自站酷網,作者@youngxkk

原文地址 http://www.zcool.com.cn/article/ZMTE0MjMy.html

—————————————————————————————

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章