objective-c - iOS 发生 EventTouchDown 时更改 UIButton 的 alpha

标签 objective-c ios xcode uikit

我想在有 EventTouchDown 时更改 UIButton 的 alpha。我希望有一种类似于以下代码的方法:

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

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

谢谢!!!

最佳答案

您可以将您的 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];
    }
}

如果你需要对 selected 做一些事情,你可以像这里一样做

关于objective-c - iOS 发生 EventTouchDown 时更改 UIButton 的 alpha,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8702216/

相关文章:

objective-c - IPA(应用商店版本)Xcode 9上的Objective-C Mapview崩溃效果很好

ios - 为什么我可以直接在我的设备上安装应用程序商店分发版本?

原始类型的 Objective-c 属性

objective-c - 每个分段的UISegmentedControl自定义图像

objective-c - 覆盖子类的所有 setter 和 getter

ios - 使用按钮执行一段代码几秒/分钟?

ios - UISearchController 就像 Instagram Explore Tab

ruby - 我如何在 Xcode 中构建 Ruby 项目?

objective-c - 如何判断用户是否使用 Cocoa 24 小时时间

ios - 自定义栏按钮项目不执行 segue