2012-12-23 73 views
2

.selected.highlighted屬性不會剪切它,因爲出於某種原因,當突出顯示並選擇該按鈕時,該按鈕看起來會變得更加灰暗(非高亮圖像的深色陰影)設置爲YES。如何以編程方式更改UIButton狀態?

我需要讓我的按鈕熄滅,就好像用戶使它熄滅一樣。
我該怎麼做?

+1

什麼意思是「走開」,發生了什麼事?或者看看某種方式? – estobbart

+0

看起來像所有其他未加亮的按鈕 – Ted

回答

4

現在我想我明白你的意思。我在我的UIButton中放置了一個圖像,並試圖在觸摸時改變按鈕的狀態。

- (IBAction)touchDown:(id)sender { 
    [(UIButton *)sender setHighlighted:FALSE]; 
    [(UIButton *)sender setSelected:FALSE]; 
} 

我注意到圖像在您移動手指之前不會變暗。如果連接某個動作以「觸摸內部拖動」並檢查.highlighted,則應該看到它已再次變爲TRUE。你可以將其設置回FALSE:

- (IBAction)touchMove:(id)sender 
{ 
    [(UIButton *)sender setSelected:FALSE]; 
} 

然而

如果您只是在尋找一種方式來阻止用戶按下它變白的圖像,這樣做:

button.adjustsImageWhenHighlighted = FALSE; 

設置圖像UIControlStateHighlighted也會消除灰色。

UIImage *image = [UIImage imageNamed:@"img"]; 
[button setImage:image forState:UIControlStateNormal]; 
[button setImage:image forState:UIControlStateHighlighted]; 
0

如果「熄滅」你的意思是要禁用按鈕,你可以使用:

[myButton setEnabled:NO]; 
相關問題