1

使用此代码,我的视图-touchesEnded:withEvent:仍然会在第一次点击时被调用:

UITapGestureRecognizer *doubleTapGR = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
doubleTapGR.numberOfTapsRequired = 2;
doubleTapGR.delaysTouchesEnded = YES;
doubleTapGR.cancelsTouchesInView = YES;
[self addGestureRecognizer:doubleTapGR];

但根据它的文件delaysTouchesEnded不应该:

当此属性的值为 YES(默认值)并且接收器正在分析触摸事件时,窗口会暂停将 UITouchPhaseEnded 阶段的触摸对象传递到附加视图。如果手势识别器随后识别出它的手势,则取消这些触摸对象(通过 touchesCancelled:withEvent: 消息)。如果手势识别器无法识别其手势,则窗口在调用视图的 touchesEnded:withEvent: 方法时传递这些对象。将此属性设置为 NO 以在手势识别器分析相同的触摸时将 UITouchPhaseEnded 中的触摸对象传递到视图。

4

0 回答 0