首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIButton内有触觉,有触觉重复?

UIButton内有触觉,有触觉重复?
EN

Stack Overflow用户
提问于 2013-08-16 19:57:46
回答 1查看 2.3K关注 0票数 1

获得一个按钮以便能够同时执行Touch Up Inside操作和Touch Down Repeat操作的最佳方法是什么?有点像iPhone上的Home按钮:单击一次到主屏幕,但两次快速单击打开多任务处理栏。现在,我的按钮已经连接了两个方法,但是Touch Up Inside方法(毫不奇怪)在Touch Down Repeat发生之前就会被调用。

我可以想出几种方法来完成这个任务(让Touch up内部方法等一下,看看执行之前是否有另一次单击,在第一次单击之后有第二个按钮不可见地移动到位置,等等),但它们似乎都是一种黑客攻击,可能会导致性能损失和错误。我找到了tapCount属性,但是它是用于UITouch而不是UIButton的,因此if([_buttonAddItems tapCount] > 1) {} else if([_buttonAddItems tapCount] == 1) (这似乎是最有效的方法)无法工作。

这类事情有最好的做法吗?或者如果没有,是否有人有更好的方法来完成这个任务?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-16 20:04:43

尝试将两个触摸事件与您的按钮断开,并将两个点击手势识别器挂在上面。下面是一个link to an answer,它解释了如何设置两个手势识别器,以便其中一个识别单个抽头,另一个识别双击:

代码语言:javascript
复制
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(doSingleTap)];
singleTap.numberOfTapsRequired = 1; 
[myButton addGestureRecognizer:singleTap];

UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(doDoubleTap)];
doubleTap.numberOfTapsRequired = 2; 
[myButton  addGestureRecognizer:doubleTap];
// This is the "secret sauce":
[singleTap requireGestureRecognizerToFail:doubleTap];
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18281197

复制
相关文章

相似问题

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