2011-07-08 91 views
0

我有三種手勢:2指輕敲,3指輕敲和4指輕敲。我需要相應的座標。我如何從UIGesture獲得多點觸摸的多個座標

我曾嘗試以下,以獲得協調一致的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]; 

} 

回答

2

首先,你的應用程序沒有檢查是否有實際兩次觸摸。 如果您用一根手指點擊屏幕,您將在「觸摸」中獲得一次觸摸。

嘗試類似這樣的東西。

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

否則,你的程序崩潰的部分是[twoTouch objectAtIndex:1],因爲objectAtIndex:1不存在。

(我知道這是一個非常古老的問題,但我無論如何回答了它。)

相關問題