0

几乎我正在尝试找到一种方法,您可以在应用程序中的图像上同时缩放和旋转。

我发现这段代码指示我将其放入 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;

现在这仅适用于用两根手指旋转,但我也需要能够同时使用两根手指进行缩放。我已经尝试了一切,但我只是不确定出了什么问题或如何从这里开始。

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

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

谢谢!

4

1 回答 1

1

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

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

那应该这样做。

于 2013-06-19T05:54:59.040 回答