2012-06-14 32 views

回答

4

如果你正確地命名的圖形(例如,添加「@2x」的PNG文件的後綴),iOS的是足夠聰明的使用上適當的設備&顯示你的視網膜顯示圖形。特別是如果您使用UIImageViews或控件或其他,在XIB文件中設計的用戶界面中。

如果你正在編程圖像(例如,你定義一個插座,然後通過像「[UIImage imageNamed:」這樣的圖像抓取圖像),iOS仍然足夠聰明,可以爲你拾取高分辨率圖像。圖形正確

這裏有在計算器上的其他問題,可能會幫助你,比如:

How to support both iPad and iPhone retina graphics in universal apps

How to activate @2x high res graphics for retina display?

2

這可能會起作用。首先檢查屏幕是否具有視網膜顯示,如果是,則將背景圖像設置爲視網膜圖像。如果它沒有視網膜顯示,則背景圖像是常規圖像。你可以把它放在viewWillAppearviewDidLoad

if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] && 
    ([UIScreen mainScreen].scale == 2.0)) { 

    // Retina display 
    UIImage *backgroundImage = [UIImage imageNamed:@"retinaImage.png"]; 

} else { 

    // Non-Retina display 
    UIImage *backgroundImage = [UIImage imageNamed:@"nonRetinaImage.png"]; 

} 

希望這有助於!

+0

感謝您的回答。 –

+0

比例位做到了。謝謝!我有一個應用程序在運行時下載圖像,我想下載視網膜和非視網膜顯示器的正確圖像(分辨率)...所以我不能依靠@ 2x規範,因爲我沒有得到實際的文件名(正在服務由動態調整和格式化文件的媒體服務器) – chadbag

相關問題