我有UIButton
一个UILongPressGestureRecognizer
附加的。
如果按钮已启用,我会收到来自gestureRecognizer 的事件。
但是,如果按钮被禁用(即button.enabled = NO
)我不会收到这些事件。
UILongPressGestureRecognizer
如果UIButton
未启用,有什么方法可以从 a 接收事件?
我有UIButton
一个UILongPressGestureRecognizer
附加的。
如果按钮已启用,我会收到来自gestureRecognizer 的事件。
但是,如果按钮被禁用(即button.enabled = NO
)我不会收到这些事件。
UILongPressGestureRecognizer
如果UIButton
未启用,有什么方法可以从 a 接收事件?
几个选项:
实际上不要禁用按钮,只需在内部设置一个标志,并且在标志为 false 时不执行按钮操作。副作用是按钮看起来仍然可以正常工作。
在没有可见外观的禁用按钮之上创建另一个按钮。还要长按。启用可见按钮时,禁用不可见按钮,反之亦然。
在父视图上长按使用手势委托来查看它是否在您的按钮顶部:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if (touch.view == theButton)
{
// Perform your action
}
}