UIRotationGestureRecognizer随CGAffineTransformMakeScale而变化

时间:2012-12-02 16:05:37

标签: ios uigesturerecognizer cgaffinetransformscale

使用以下内容翻转视图:

self.transform = CGAffineTransformMakeScale(-1, 1);  // self is an UIView

要旋转此视图:

-(void)handleRotate:(UIRotationGestureRecognizer *)recognizer
{
    recognizer.view.transform = CGAffineTransformRotate(recognizer.view.transform, recognizer.rotation);
    recognizer.rotation = 0;
}

问题是在翻转视图后,旋转的方向也是如此。任何解决方案如何解决这个问题?

编辑:我当前的解决方案是使用布尔值并取消handleRotate方法中的recognizer.rotation值。但我仍在寻找技术解决方案。

1 个答案:

答案 0 :(得分:1)

您试试self.transform.a * recognizer.rotation吗? 如果我正确理解了AffineTransform,则X缩放存储在a

CGAffineTransform Reference寻找CGAffineTransformMakeScaleCGAffineTransformMake