iphone - 检测何时按下自定义 UIButton

标签 iphone ios cocoa-touch uibutton subclass

我已经为我的应用程序创建了一个自定义 UIButton(UIButton 子类)。在此按钮的实现中,按下时如何更改背景颜色? (它应该在按下时恢复到正常背景。我目前正在使用 Core Graphics 绘制渐变背景。)

我已经尝试在 drawRect: 中进行分支(检查 self.selectedself.highlighted,但没有发生任何变化,因为 drawRect 未在触摸事件上调用。

如有任何建议或代码示例,我们将不胜感激。

最佳答案

尝试在触摸事件中调用[self setNeedsRedraw]


Asker 根据这个答案和下面的评论提供了一个解决方案。

解决方案

用过的:

[self addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchDown];
[self addTarget:self action:@selector(buttonDepressed) forControlEvents:UIControlEventTouchUpInside | UIControlEventTouchUpOutside | UIControlEventTouchCancel];

选择器是执行背景更改的自定义函数。

关于iphone - 检测何时按下自定义 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7909196/

相关文章:

iphone - 如何从 url 为直播的相机播放直播

iphone - iOS 代码显示白色区域而不是图像系列

iphone - uilocalnotification 未在准确时间触发

objective-c - 关于 ARC for iOS 的几个问题?

python - Objective-C 数组中的连续数字,如 Python 中的 range()

iphone - 取消引用 NSCoder 的decodeBytesForKey 返回的指针时,iOS 设备崩溃

iphone - 如何在iOS的ViewController之间传递对象?

iphone - 创建 iPhone 库/框架

objective-c - 将字符串转换为 NSDate

ios - UIBarButtonItem 上的图片模糊