我正在使用两种不同的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/