在我的应用程序中,我必须检测单击、双击和三次点击。所以,我正在使用 UITapGestureRecognizer。我正在使用以下代码:
UITapGestureRecognizer *oneTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTapGestureOnAnimal:)];
oneTap.numberOfTapsRequired = 1;
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTapGestureOnAnimal:)];
doubleTap.numberOfTapsRequired = 2;
[doubleTap requireGestureRecognizerToFail:oneTap];
UITapGestureRecognizer* tripleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTripleTapGestureOnAnimal:)];
tripleTap.numberOfTapsRequired = 3;
[tripleTap requireGestureRecognizerToFail:doubleTap];
[self addGestureRecognizer:oneTap];
[self addGestureRecognizer:doubleTap];
[self addGestureRecognizer:tripleTap];
但问题是它总是只检测单击和双击。它根本没有检测到三次点击....有人可以指出我在检测三次点击时犯的错误吗?
最佳答案
检查一下,
[oneTap requireGestureRecognizerToFail:doubleTap];
[oneTap requireGestureRecognizerToFail:tripleTap];
[doubleTap requireGestureRecognizerToFail:tripleTap];
您已经在方法中切换了水龙头,但您没有执行上面的第二行。理想情况下,只有在双击和三次点击失败时才应检测到一次点击。并且在三次点击失败时应该检测到双击。
关于iOS - 多次点击手势识别器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13866623/