天天看點

相容 iOS retina 高清屏

1、 首先明确:

iPhone 3G/3GS 螢幕像素分辨率是   320×480 ;

iPhone4、iPod Touch4 螢幕像素分辨率 640×960。

2、為了相容 iOS 4.0 之前的程式也能在 iOS 4 上運作,蘋果設計了一個邏輯分辨率機關point ,在 iPhone3 上 1個 Point 相當于 1個pixel ; 而 iPhone4 上1個 point 就相當于4個 pixel;是以所有的iPhone、iPod Touch 裝置的 Point 分辨率都是 320×480 ,也就是邏輯分辨率都一緻,保證了App不需要修改也能正常的在高像素分辨率上運作,隻是原來App中的圖檔會被拉升後顯示,影響美觀,沒有發揮retina的優勢。

3、iOS App設計和開發人員要做什麼?

1)App 的圖示設計,釋出到Store的App必須同時提供高清Size的App Icon(在原來基礎上都要對應提供一份高清版本),參考Apple官方文檔。

2) 代碼中引用的靜态UI 圖檔素材,也是提供兩份,一份低像素分辨率,一份高分辨率使用。

比如:原來App素材包有個 demo.png ,那麼 App bundle中就必須再提供一個兩倍size的 demo.png , 并且檔案命名為 [email protected] 後添加到項目工程中;

在代碼中仍然這樣寫 [UIImage imageNamed:@"demo.png"] 即可, 無需修改代碼,iOS系統可以自動對應不同螢幕取不同size的圖像檔案。

3) 如果App運作中從網絡異步擷取圖檔進行顯示,或遊戲App中動态生成圖檔後顯示,需加上代碼判斷不同螢幕裝置來擷取/生成不同size圖檔。

if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2){

//retina 或 ipad上啟用2x顯示iPhoneApp

//擷取高清size圖檔

}

else {

//擷取低清size圖檔

}

繼續閱讀