用两根手指旋转和缩放?

时间:2013-06-19 05:30:17

标签: ios image rotation zoom

我正试图找到一种可以在应用中的图像上同时缩放和旋转的方法。

我找到了这段代码,指示我将它放入touchesMoved方法:

UITouch *touch1 = [[allTouches allObjects] objectAtIndex:0];
UITouch *touch2 = [[allTouches allObjects] objectAtIndex:1];
CGPoint previousPoint1 = [touch1 previousLocationInView:nil];
CGPoint previousPoint2 = [touch2 previousLocationInView:nil];
CGFloat previousAngle = atan2 (previousPoint2.y - previousPoint1.y, previousPoint2.x - previousPoint1.x);

CGPoint currentPoint1 = [touch1 locationInView:nil];
CGPoint currentPoint2 = [touch2 locationInView:nil];
CGFloat currentAngle = atan2 (currentPoint2.y - currentPoint1.y, currentPoint2.x - currentPoint1.x);

transform = CGAffineTransformRotate(transform, currentAngle - previousAngle);
self.view.transform = transform;

现在这只是用两根手指旋转,但我需要能够用两根手指同时进行缩放。我已经尝试了所有的东西,但我不确定是什么问题或者怎么离开这里。

无论如何,地图应用程序做了类似的事情,你可以在地图上放大并同时旋转它,这就是我想在我的应用程序中的图像上完成的。

无论如何,从这一点起我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:1)

UIPinchGestureRecognizerUIRotationGestureRecognizer添加到您的视图中,设置其代理并实现以下委托功能。

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

应该这样做。