2011-12-27 223 views
6

Retina iOS設備不顯示@ 2X圖像,它顯示1X圖像。Retina iOS設備不顯示@ 2X圖像,顯示1X圖像

我使用的Xcode 4.2.1構建4D502中,應用定位的iOS 5

我創建了一個測試程序(主/從),並增加了兩個圖像。

iconTest.png 24 x 24 [email protected] 48 x 48 每張圖片都是獨一無二的,所以我可以很容易地分辨出哪一張正在顯示。

在我添加一個按鈕來導航控制器的viewDidLoad中...

UIImage *buttonImage = [UIImage imageNamed:@"iconTest.png"]; 
UIBarButtonItem *button = [[UIBarButtonItem alloc] 
          initWithImage:buttonImage 
            style:UIBarButtonItemStyleBordered 
            target:self 
            action:@selector(share)]; 
self.navigationItem.rightBarButtonItem = button; 

當我運行在iPhone模擬器此測試應用程序它正確地顯示視網膜iOS設備的圖標。在模擬器中,硬件 - >設備 - >設置爲iPhone(視網膜)。而當我暫停應用程序,並看看buttonImage對象,我可以看到比例設置爲2.

這個按預期方式工作!

但是,當我附加我的iPhone 4並運行應用程序時,顯示的分辨率更低。 而且,當我暫停應用程序並查看buttonImage對象時,我可以看到比例爲1.

這不是預期的行爲。

關於模擬器與真實iOS設備之間爲何不同的想法?

這是一個已知的問題?有沒有已知的解決方法?

謝謝, 布賴恩。

+0

嘗試清理並重建項目(如果您最近只添加了新圖像) - 如果您重命名了現有文件,通常圖像不會被拾取。 – jrturton

回答

17

文件名在iPhone上區分大小寫,但不在iPhone模擬器上。您需要使用@2x而不是@2X

+0

好點,老鷹的眼睛! – jrturton

+1

是的,這是問題。我將2X更改爲2x,現在視網膜圖像顯示在真正的iPhone 4上。謝謝指出! –