难以在iOS应用中激活3触摸手势识别器

时间:2011-04-05 15:39:46

标签: iphone uigesturerecognizer multi-touch touchesbegan

我有一个使用手势识别器的应用程序。从我所做的研究中,我发现有touchesBegan识别手势的方法,然后有手势识别器,它应该更光滑。

我遇到的问题是手势识别器不像touchesBegan方法那样响应或准确,但实现起来要容易得多,这显然是我使用它们的原因。如果我想用手势识别器检测到3个手指手势,那就很难了,因为我必须在同一时间按下我的3个手指,否则它不会发射。这与touchesBegan方法形成对比,touchesBegan方法只知道你在任何时候有多少手指。

我是否因为这个看似很好的手势功能的实现而错过了什么,这使得它不是很敏感?我已将最大和最小触摸设置为3,这是不正确的?

请帮忙。谢谢!

1 个答案:

答案 0 :(得分:1)

您需要在同一时间按下的原因是,默认情况下,一次只能识别一个手势识别器。因此,一旦您按下一根手指,识别器就会自动阻止其他两个手指。

尝试实现UIGestureRecognizerDelegate并使用:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
    return YES;
}

我不确定这是否会解决问题,但可能会解决。

干杯。