Отключить выделенное состояние UIControl UIButton - PullRequest
8 голосов
/ 03 мая 2011

У меня есть UIButton, я хочу отключить его UIControlStateHighlighted, если кнопка находится в выбранном состоянии. Под этим я подразумеваю, что если текущее состояние UIButton равно ControlStateSelected, то при касании его состояние не должно изменяться на выделенное, что является поведением по умолчанию для UIButton.

Ответы [ 4 ]

18 голосов
/ 26 августа 2011
[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];

Третья строка - это хитрость, она отключит подсвеченное состояние кнопки UIB, если кнопка уже находится в выбранном состоянии

9 голосов
/ 05 января 2014

Снимите флажок «Подсветка настраивает изображение» в IB, также убедитесь, что в IB установлен тип CUSTOM

3 голосов
/ 03 мая 2011
if(button.selected == YES)
button.adjustsImageWhenHighlighted = NO;
else
button.adjustsImageWhenHighlighted = YES;

Надеюсь, это поможет

1 голос
/ 22 января 2015

только две вещи:

UIButton *btnTransparentComponent = [UIButton buttonWithType:UIButtonTypeCustom];
btnTransparentComponent.adjustsImageWhenHighlighted = NO;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...