2014-05-25 227 views
0

我有一個按鈕,在正常狀態下它應該是這個樣子:爲什麼HighlightedImage忽略

enter image description here

所強調的狀態它應該是這樣的:

enter image description here

處於選定狀態,它應該看起來像這樣:
enter image description here

現在狀態正常,所選狀態似乎正常。

除了在狀態高亮,代碼似乎忽略我的高亮顯示的提供圖像請求,並使它看起來像這樣:

enter image description here

這是我的代碼:

 self.iconButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [self.iconButton setFrame:CGRectMake(0,0,100,100)]; 
    [self.view addSubview:self.iconButton]; 
    [self.iconButton addTarget:self selector:@selector(buttonClicked:) forEvent:UIControlEventTouchUpInside]; 
    self.iconButton.adjustsImageWhenDisabled = YES; 
    self.iconButton.adjustsImageWhenHighlighted = YES; 

    [self.iconButton setImage:[UIImage imageNamed:@"check"] forState:UIControlStateNormal]; 
    [self.iconButton setImage:[UIImage imageNamed:@"check_pressed"] forState:UIControlStateHighlighted]; 
    [self.iconButton setImage:[UIImage imageNamed:@"check_v"] forState:UIControlStateSelected]; 

我的問題是:我如何讓代碼識別我所請求的圖像,或者我如何只是簡單地爲按鈕提供顏色以使我的「突出顯示」狀態變爲顏色?

+0

我想你可以通過閱讀下面的內容找到你需要的東西:http://stackoverflow.com/questions/19198858/uibuttons-selected-state-not-working-in-ios7 – Stavash

+0

這沒有幫助,這個按鈕是創建的以編程方式,不通過接口生成器 –

+0

@Stavash更多的建議? –

回答

0
self.iconButton.adjustsImageWhenHighlighted = YES; 

此設置使系統自動適應突出顯示的圖像,這是不是你想要的(你想使用自己的圖像)。嘗試將其設置爲NO,並查看它是否改善了情況。

+0

我改變了這個設置爲NO - >它改變了一些東西,但我沒有得到我想要的結果。現在突出顯示的按鈕版本與正常版本 –

+1

相同,您的答案部分正確,但確實需要將狀態設置爲NO。然而,我的按鈕,從選定的狀態(這是我的錯,因爲沒有提及按鈕的初始狀態是「選中」),現在按回到正常狀態,而不是像我想要的高亮狀態。所以我需要把一個布爾值來檢查我是否處於選定狀態,然後按下我需要將正常圖像設置爲高亮顯示,並且一切運行良好。 –