首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您是否可以在不禁用连接的UIGestureRecognizers的情况下禁用UIButton?

您是否可以在不禁用连接的UIGestureRecognizers的情况下禁用UIButton?
EN

Stack Overflow用户
提问于 2012-02-08 22:02:26
回答 2查看 1.1K关注 0票数 2

我有一个有两个功能的UIButton :轻敲,长按。有点像Springboard应用程序(主屏幕)。我已经将它实现为一个附加了UILongPressGestureRecognizer的UIButton。

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-08 22:12:28

UIButton是UIControl的一个子类。看看UIControl中的各种方法。

您可以为ControlEvents (如ControlEventTouchUpInside,也称为tap)和UIEvents指定要调用的特定方法。

代码语言:javascript
复制
 - (void)sendAction:(SEL)action to:(id)target forEvent:(UIEvent *)event

 - (void)sendActionsForControlEvents:(UIControlEvents)controlEvents

您可以使用以下命令删除控件事件的操作:

代码语言:javascript
复制
 - (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents

或者,根据您的条件,您可以只在调用的target/selector方法内不执行任何操作。

票数 1
EN

Stack Overflow用户

发布于 2012-02-08 22:10:22

您可以保留按钮的点击目标和选择器,然后在需要时再次添加它。通过设置enabled = NO;,您可以将NO控件的接收器设置为NO。

更多文档UIButton - Enabled

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9194800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档