轉發:http://my.oschina.net/yongbin45/blog/69545html
一、 首先明確:
iPhone 3G/3GS 屏幕像素分辨率是 320×480 ;
iPhone四、iPod Touch4 屏幕像素分辨率 640×960。ios
二、爲了兼容 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的優點。網絡
三、iOS App設計和開發人員要作什麼?app
1)App 的圖標設計,發佈到Store的App必須同時提供高清Size的App Icon(在原來基礎上都要對應提供一份高清版本),參考Apple官方文檔。異步
2) 代碼中引用的靜態UI 圖片素材,也是提供兩份,一份低像素分辨率,一份高分辨率使用。
好比:原來App素材包有個 demo.png ,那麼 App bundle中就必須再提供一個兩倍size的 demo.png , 而且文件命名爲 demo@2x.png 後添加到項目工程中;spa
在代碼中仍然這樣寫 [UIImage imageNamed:@"demo.png"] 便可, 無需修改代碼,iOS系統能夠自動對應不一樣屏幕取不一樣size的圖像文件。.net
3) 若是App運行中從網絡異步獲取圖片進行顯示,或遊戲App中動態生成圖片後顯示,需加上代碼判斷不一樣屏幕設備來獲取/生成不一樣size圖片。設計
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2){
//retina 或 ipad上啓用2x顯示iPhoneApp
//獲取高清size圖片
}
else {
//獲取低清size圖片
}htm