2011-04-01 168 views
3

我有一些按鈕,自定義背景圖片,這裏是我如何做到這一點:UIButton的圖像和視網膜顯示

UIImage *buttonImage2Normal = [UIImage imageNamed:@"greyButton.png"]; 

[showModal setBackgroundImage:buttonImage2Normal 
             forState:UIControlStateNormal]; 

UIImage *buttonImage2Pressed = [UIImage imageNamed:@"greyButtonPressed.png"]; 

[showModal setBackgroundImage:buttonImage2Pressed 
             forState:UIControlStateHighlighted]; 

而且我做了四象,greyButton.png,greyButtonPressed.png和@ 2個版本支持視網膜。但在視網膜(iPhone模擬器)上,我看到了我的按鈕,但在iPhone(3G)上我認爲這是使用更大的圖像,因爲我的按鈕幾乎沒有圓角。

這是正確的方法嗎?

回答

10

你是正確的,只要你的名字你的視網膜顯示的圖像是這樣做的:filename.png[email protected]

你可能會通過使非視網膜圖像,這是一個紅色的顏色,然後視網膜想簡單測試這是一個藍色的圖像。

在帶有Retina刻度的iPhone模擬器上,您應該看到一個藍色按鈕,並且在3G iPhone上您應該看到一個紅色按鈕。

+0

這是否自動完成?我不必在代碼中編寫@ 2x? – bluezald 2011-09-08 07:57:00

+1

@BacalsoVincent Nope,你不必在代碼中編寫它。至少不是在使用'[imageNamed:@「myimage」]''時 – 2012-05-31 13:29:49