Iphone 您是否可以禁用UIButton而不禁用其附加的UIgestureRecognitors?

Iphone 您是否可以禁用UIButton而不禁用其附加的UIgestureRecognitors?,iphone,ios,uibutton,uigesturerecognizer,Iphone,Ios,Uibutton,Uigesturerecognizer,我有一个UIButton,有两个功能:点击和长按。有点像Springboard应用程序(主屏幕)。我将其实现为一个UIButton,附带了一个UILongPressGestureRecognitor 在某些情况下,我需要通过在按钮上设置enabled=NO来禁用点击操作。但不幸的是,这也禁用了我的手势识别器 如何禁用UIButton的标准行为,同时保持与之连接的手势识别器处于活动状态?您可以删除按钮的点击目标和选择器,然后在需要时再次添加它。通过设置enabled=NO您正在将UIControl

我有一个UIButton,有两个功能:点击和长按。有点像Springboard应用程序(主屏幕)。我将其实现为一个UIButton,附带了一个UILongPressGestureRecognitor

在某些情况下,我需要通过在按钮上设置
enabled=NO
来禁用点击操作。但不幸的是,这也禁用了我的手势识别器


如何禁用UIButton的标准行为,同时保持与之连接的手势识别器处于活动状态?

您可以删除按钮的点击目标和选择器,然后在需要时再次添加它。通过设置
enabled=NO您正在将UIControl的接收器设置为否

更多文档

ui按钮是UIControl的一个子类。 查看UIControl中的各种方法。
您可以指定用于调用ControlEvents(如ControlEventTouchUpInside a.k.a tap)和UIEvents的特定方法

 - (void)sendAction:(SEL)action to:(id)target forEvent:(UIEvent *)event

 - (void)sendActionsForControlEvents:(UIControlEvents)controlEvents
您可以通过以下方式删除控制事件的操作:

 - (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents
或者,根据您的条件,您可以在调用的目标/选择器方法中不执行任何操作