如何从UIGesture获得多重触摸的多个坐标

时间:2011-07-08 06:58:58

标签: uigesturerecognizer touchesbegan

我有三个手势:双指点按,3指点按和4指点按。我需要相应地得到坐标。

我已经尝试了以下方法来获得2个手指点击的协调,但应用程序仍然崩溃:

 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

NSArray *twoTouch = [touches allObjects];
UITouch *tOne = [twoTouch objectAtIndex:0];
UITouch *tTwo = [twoTouch objectAtIndex:1];
CGPoint firstTouch = [tOne locationInView:[tOne view]];
CGPoint secondTouch = [tTwo locationInView:[tTwo view]];

NSLog(@"point one: %@", firstTouch);
NSLog(@"point two: %@", secondTouch);


[twoTouch release];

}

1 个答案:

答案 0 :(得分:2)

首先,您的应用程序不会检查实际上是否两次触摸。 如果您用一根手指点击屏幕,您将在“触摸”中轻触一下。

尝试这样的事情。

if(touches.count > 1 && touches.count < 3)
{
    // Your code for two touches.
}

否则,程序崩溃的部分是[twoTouch objectAtIndex:1],因为objectAtIndex:1不存在。

(我知道这是一个非常古老的问题,但无论如何我都回答了​​。)