hihi,勇敢的小伙伴们大家好,好久不见~~~
最近在忙项目所以很忙很忙的,但是没有学什么新东西,主要是对UI的设计和修改部分,但是,我是个有点严谨的人,有一个地方,我觉得需要双击点赞,单击暂停的功能比较合理,所以遇到了一个困顿我很久的问题,这个问题就是手势冲突,我给UITapGestureRecognizer创建了两个对象设置了numberOfTapsRequired的值分别是1和2,并分别添加了暂停和点赞的事件,但是,测试发现前者不好用!!!
崩溃!绝望!想哭!想不通为什么!陷入沉重的思考!统统都没有!
冷静分析,冷静处理,分析结果为手势冲突!
找解决办法,
解决办法如下:
- (void)viewDidLoad {
// 单击的 Recognizer
UITapGestureRecognizer* singleRecognizer;
singleRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:selfaction:@selector(handleSingleTapFrom)];
singleRecognizer.numberOfTapsRequired = 1; // 单击
[self.view addGestureRecognizer:singleRecognizer];
// 双击的 Recognizer
UITapGestureRecognizer* doubleRecognizer;
doubleRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:selfaction:@selector(handleDoubleTapFrom)];
doubleRecognizer.numberOfTapsRequired = 2; // 双击
[self.view addGestureRecognizer:doubleRecognizer];
// 关键在这一行,如果双击确定偵測失败才會触发单击
[singleRecognizer requireGestureRecognizerToFail:doubleRecognizer];
}
需要注意的是关键的那一行⬆️,两个顺序写反,功亏一篑!!!
千万要注意啊!!!!