查找捏手势

问题描述:

我熟悉UIGestures,但这种特殊的需求让我撞上了墙壁。查找捏手势

问题:如何查找UIPinchGesture的开始两点和结束点?

我必须得到所有这四点,并且必须在服务器端进行一些计算。

有人曾尝试过吗?

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
UITouch *touchPositionOne = [[[event allTouches] allObjects] objectAtIndex:0]; 
UITouch *touchPositionTwo = [[[event allTouches] allObjects] objectAtIndex:1]; 
CGPoint fps = [touchPositionOne locationInView:self.imageView]; 
CGPoint sps = [touchPositionTwo locationInView:self.imageView]; 

NSLog(@"%@ %@", NSStringFromCGPoint(fps), NSStringFromCGPoint(sps)); 
} 


- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
UITouch *touchPositionOne = [[[event allTouches] allObjects] objectAtIndex:0]; 
UITouch *touchPositionTwo = [[[event allTouches] allObjects] objectAtIndex:1]; 
CGPoint fps = [touchPositionOne locationInView:self.imageView]; 
CGPoint sps = [touchPositionTwo locationInView:self.imageView]; 

NSLog(@"%@ %@", NSStringFromCGPoint(fps), NSStringFromCGPoint(sps)); 
} 

使用

- (CGPoint)locationOfTouch:(NSUInteger)touchIndex inView:(UIView *)view 

[gesture locationOfTouch:0 inView:youView]; //first 
[gesture locationOfTouch:1 inView:youView]; //second 
+0

还是让我试试吧... – Deepukjayan 2012-04-25 05:51:38

+0

这是真棒,从来没有这样....:d \ – Deepukjayan 2012-04-25 05:58:32

+0

抱歉说。直到我在设备上运行此代码,一切都很好,我很安静。但它的设备有一些sigAbrts。对于UIPinchGesture UITouch [2]是通常的值,它只读(即没有setter)。但是,当我在1访问索引时,XCode会说:“超出范围”。 :( – Deepukjayan 2012-04-25 12:17:40

CGPoint point1 = [gestureRecognizer locationOfTouch:0 inView:piece]; 
CGPoint point2 = [gestureRecognizer locationOfTouch:1 inView:piece]; 
CGPoint center = [gestureRecognizer locationInView:piece]; 
+0

一样工作,但是我已经想出了一个长久的解决方案,请找到上面的答案。 – Deepukjayan 2013-06-18 08:43:29