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