将UIView的旋转重置为0

时间:2012-10-17 12:38:09

标签: ios uiview frame cgaffinetransform

如何将视图的旋转重置为零,同时保持该视图上的其他变换不变。

我无法使用:

[myView setTransform:CGAffineTransformIdentity]

因为它也将休息所有其他变换。

或者我只想要视图的帧是否为0。

2 个答案:

答案 0 :(得分:0)

myView.transform = CGAffineTransformRotate(myView.transform, -currentRotationAngle);

这将采用当前变换,并将其旋转到0度

编辑:我认为您需要按当前旋转值的倒数旋转,而不是将其设置为0

答案 1 :(得分:0)

要在保持转换的同时重置旋转,您可以尝试以下代码:

  CGAffineTransform inverse = CGAffineTransformInvert(myView.affineTransform);
  inverse.tx = 0;
  inverse.ty = 0;
  myView.transform = inverse;