我已经为我的应用程序创建了一个自定义 UIButton(UIButton 子类)。在此按钮的实现中,按下时如何更改背景颜色? (它应该在按下时恢复到正常背景。我目前正在使用 Core Graphics 绘制渐变背景。)
我已经尝试在 drawRect:
中进行分支(检查 self.selected
和 self.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/