0

我有UIButton一个UILongPressGestureRecognizer附加的。

如果按钮已启用,我会收到来自gestureRecognizer 的事件。
但是,如果按钮被禁用(即button.enabled = NO)我不会收到这些事件。

UILongPressGestureRecognizer如果UIButton未启用,有什么方法可以从 a 接收事件?

4

1 回答 1

0

几个选项:

  • 实际上不要禁用按钮,只需在内部设置一个标志,并且在标志为 false 时不执行按钮操作。副作用是按钮看起来仍然可以正常工作。

  • 在没有可见外观的禁用按钮之上创建另一个按钮。还要长按。启用可见按钮时,禁用不可见按钮,反之亦然。

  • 在父视图上长按使用手势委托来查看它是否在您的按钮顶部:

    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
    {
        if (touch.view == theButton)
        {
            // Perform your action
        }
    }
    
于 2012-09-18T23:12:37.423 回答