開發兼容 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圖片
}

原文地址

發佈了21 篇原創文章 · 獲贊 6 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章