不选择按钮本身时突出显示UIButton

时间:2016-06-24 17:07:24

标签: ios objective-c uibutton uigesturerecognizer highlight

我这里有一个自定义类,它由UIView内的UIButton组成。

这个类的目标是允许用户有一个更大的区域(作为UIView)来选择按钮而不仅仅是按钮框架本身。

现在,当用户点击视图时,我希望按钮突出显示图像...但问题是,它没有。

我已经阅读了许多可能解决此问题的方案例如:

致电:[btnObject sendActionsForControlEvents:UIControlEventTouchUpInside] 然而,这并未改变按钮突出显示。

我也尝试过设置button.highlighted = YES; 但那也不起作用。

我正确设置了不同状态的图像(正常和突出显示),我很确定。

我还有gestureRecognizer正常工作,因为功能很棒,除了缺少高亮。

有人知道我是否缺少任何需要做的特殊事情才能完成看似非常简单的任务?当然已经多次完成了。

谢谢

2 个答案:

答案 0 :(得分:0)

你走在正确的轨道上。 -[UIButton setHighlighted:]只是一面旗帜。您需要做的是在更改setNeedsDisplay属性后立即在该按钮上调用highlighted

答案 1 :(得分:0)

我不久前解决了我的问题,我不确定Kevin Low的答案是否也会起作用,很可能也有。

但由于某种原因,UITapGesture在突出按钮作为视图转换时效果不佳(这可能是因为我没有调用setNeedsDisplay)。最终工作的手势是UILongPressGesture,最短持续时间为0.0秒。

相关问题