我正试图找到一种可以在应用中的图像上同时缩放和旋转的方法。
我找到了这段代码,指示我将它放入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;
现在这只是用两根手指旋转,但我需要能够用两根手指同时进行缩放。我已经尝试了所有的东西,但我不确定是什么问题或者怎么离开这里。
无论如何,地图应用程序做了类似的事情,你可以在地图上放大并同时旋转它,这就是我想在我的应用程序中的图像上完成的。
无论如何,从这一点起我该怎么做?
谢谢!
答案 0 :(得分:1)
将UIPinchGestureRecognizer和UIRotationGestureRecognizer添加到您的视图中,设置其代理并实现以下委托功能。
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
应该这样做。