iOS在存在EventTouchDown时更改UIButton的alpha

Kev*_*inM 2 xcode objective-c uikit ios

我希望在它上面有一个EventTouchDown时更改UIButton的alpha.我希望有一种方法可以做到类似于下面的代码:

[self.myButton setImage:<#(UIImage *)#> forState:UIControlEventTouchDown];
Run Code Online (Sandbox Code Playgroud)

有没有办法用"setAlpha"做这样的事情?

谢谢!!!

Ign*_*ese 6

你可以继承你的UIButton(不推荐,但是因为你最终要做的就是重写setHighlighted或setSelected它不应该是一个问题)并覆盖点击方法来处理你的alpha变化.

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

如果您需要在选定的位置上执行某些操作,则可以执行与此处相同的操作