iOS Изменить альфа UIButton, когда есть EventTouchDown - PullRequest
2 голосов
/ 02 января 2012

Я хотел бы изменить альфа UIButton, когда на нем есть EventTouchDown.Я надеялся, что есть способ сделать это подобно приведенному ниже коду:

[self.myButton setImage:<#(UIImage *)#> forState:UIControlEventTouchDown];

Есть ли способ сделать что-то подобное с "setAlpha"?

Спасибо вам!!!

1 Ответ

6 голосов
/ 02 января 2012

Вы можете создать подкласс UIButton (не рекомендуется, но так как все, что вам в итоге нужно сделать, это переопределить setHighlighted или setSelected, это не должно быть большой проблемой здесь) и переопределить методы касания для обработки вашего альфа-изменения.

// In your UIButton's subclass
- (void)setHighlighted:(BOOL)highlighted {
    [super setHighlighted:highlighted];
    if(self.highlighted) {
        [self setAlpha:0.5];
    }
    else {
        [self setAlpha:1.0];
    }
}

Если вам нужно что-то сделать для выбранного, вы можете сделать то же самое, что и здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...