Ios 禁用UIButton的突出显示的UIControl状态

Ios 禁用UIButton的突出显示的UIControl状态,ios,cocoa-touch,uibutton,Ios,Cocoa Touch,Uibutton,我有一个ui按钮,如果按钮处于选中状态,我想禁用它的uicontrol状态突出显示。我的意思是,如果UIButton的当前状态是ControlStateSelected,那么在触摸时,其状态不应更改为高亮显示,这是UIButton的默认行为 if(button.selected == YES) button.adjustsImageWhenHighlighted = NO; else button.adjustsImageWhenHighlighted = YES; 希望这有帮助 [butto

我有一个
ui按钮
,如果按钮处于选中状态,我想禁用它的
uicontrol状态突出显示
。我的意思是,如果
UIButton
的当前状态是
ControlStateSelected
,那么在触摸时,其状态不应更改为高亮显示,这是
UIButton
的默认行为

if(button.selected == YES)
button.adjustsImageWhenHighlighted = NO;
else
button.adjustsImageWhenHighlighted = YES;
希望这有帮助

[button setBackgroundImage:[UIImage imageNamed:@"button_image"]forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"button_image_selected"] forState:UIControlStateSelected];
[button setBackgroundImage:[UIImage imageNamed:@"button_image_selected"] forState:UIControlStateSelected | UIControlStateHighlighted];
第三行是这里的诀窍,它将禁用UIButton的突出显示状态,如果按钮已经处于选中状态

取消选中IB中的“突出显示调整图像”,同时确保按钮类型在IB中设置为自定义

只有两件事:

UIButton *btnTransparentComponent = [UIButton buttonWithType:UIButtonTypeCustom];
btnTransparentComponent.adjustsImageWhenHighlighted = NO;

嗨,谢谢你的回复。但即使在设置了按钮之后,调整SimageWhenHighlighted=否;突出显示的状态被唤起如果您的目的是删除控件的突出显示状态,而不仅仅是删除单击时的突出显示效果,则应引用此精彩答案的可能副本