2014-01-21 75 views
0

我正在設置我的背景圖像UIButton,它對iOS6正常工作,但在iOS7中突出顯示的狀態不起作用。UIButton背景IOS7中的圖像

[clearButton setBackgroundImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateHighlighted]; 

[clearButton setBackgroundImage:[UIImage imageNamed:@"[email protected]~ipad.png"] forState:UIControlStateNormal]; 

可能是什麼問題?

回答

1

林蛙ANEES:請重新啓動模擬器;-)

2

確保UIButton的類型是Custom,而不是System。

+0

按鈕屬於自定義類型 –

0

您只需要提及圖片的名稱,如果它的格式爲.png。

例如,如果您有非視網膜及視網膜顯示器2倍的圖像:img.png[email protected] 你只需要以下設置圖像:

[yourButton setBackgroundImage:[UIImage imageNamed:@"img"] forState:UIControlStateNormal]; 

操作系統自動搜索的圖像和它的@ 2x版本取決於屏幕的scale(視網膜設備具有比例2,非視網膜具有1)。

4

從圖像名稱中刪除@2x,並在您的資源文件夾中保留兩個圖像副本,如back-over.png[email protected]用於視網膜和非視網膜設備。

然後更新如下代碼你,

[clearButton setBackgroundImage:[UIImage imageNamed:@"back-over.png"] forState:UIControlStateHighlighted]; 

不要擔心@2x圖像。如果設備顯示爲Retina,它將自動附加文件名@2x

0

你確保clearButton在.H聲明?

打開助理編輯器,將按鈕拖到.h文件並將其命名爲clearButton。

現在剛剛替補在.M clearButton爲_clearButton這樣的:

[_clearButton setBackgroundImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateHighlighted]; 

[_clearButton setBackgroundImage:[UIImage imageNamed:@"[email protected]~ipad.png"] forState:UIControlStateNormal]; 

我只是2個圖像嘗試過了,它完美地工作。

還要確保圖像已導入。