0

我有三个手势:2 指点击、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];

}
4

1 回答 1

2

首先,您的应用程序没有检查是否真的两次触摸。如果您用一根手指点击屏幕,您将在“触摸”中获得一次触摸。

尝试这样的事情。

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

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

(我知道这是一个非常古老的问题,但我还是回答了。)

于 2011-11-19T19:08:15.713 回答