iphone - requireGestureRecognizerToFail不起作用

标签 iphone objective-c ios ipad uitapgesturerecognizer

我正在使用两种不同的TapGestureRecognizer来处理屏幕上的单击和双击。
这是代码:

UITapGestureRecognizer *tapGR =[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTap:)];
    [tapGR setDelegate:self];
    [tapGR setNumberOfTapsRequired:1];
    [self addGestureRecognizer:tapGR];


    UITapGestureRecognizer *doubleTapGR = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleDoubleTap:)];
    [doubleTapGR setNumberOfTouchesRequired:2];
    [self addGestureRecognizer:doubleTapGR];

    [tapGR requireGestureRecognizerToFail : doubleTapGR];

    [tapGR release];
    [doubleTapGR release];

即使我指定了[tapGR requireGestureRecognizerToFail:doubleTapGR],也会执行“handleTap”选择器。错误在哪里?

最佳答案

你犯了一个错误!您对setNumberOfTouchesRequired使用了doubleTapGR方法,而不是setNumberOfTapsRequired。这是更正的代码:

UITapGestureRecognizer *tapGR =[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTap:)];
[tapGR setDelegate:self];
[tapGR setNumberOfTapsRequired:1];
[self addGestureRecognizer:tapGR];


UITapGestureRecognizer *doubleTapGR = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleDoubleTap:)];
[doubleTapGR setNumberOfTapsRequired:2];
[self addGestureRecognizer:doubleTapGR];

[tapGR requireGestureRecognizerToFail : doubleTapGR];

[tapGR release];
[doubleTapGR release];

最好的祝福 ;)

关于iphone - requireGestureRecognizerToFail不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11086280/

相关文章:

ios - iOS:按最近的年份(忽略年份)对NSDate数组进行排序

iphone - 从 NSString 中去除 HTML 标签等

ios - 在同一 View Controller 中对多个 Collection View 或 TableView 实现 3D 触摸

ios - 保存视频到图库,获取视频存放到图库的路径

ios - 如何从 UITextField 获取带有 NSLocale smarts 的 NSNumber?

ios - 来自太多请求的 NSURLSession 和地理编码器错误,解决方案是什么?

iphone - Cocos2d SpriteSheet 动画

iphone - iOS 企业应用程序警告消息

ios - Objective-C 中的继承?

iphone - 哪个是 iOS 中合适的 XML 解析器?