0
如何将我的视图的旋转重置为零,同时保持该视图上的其他转换不变。将UIView的旋转重置为0
我不能使用:
[myView setTransform:CGAffineTransformIdentity]
,因为它会休息,其他所有的变换过。
或者,我只是想视图的框架,如果它的旋转为0
如何将我的视图的旋转重置为零,同时保持该视图上的其他转换不变。将UIView的旋转重置为0
我不能使用:
[myView setTransform:CGAffineTransformIdentity]
,因为它会休息,其他所有的变换过。
或者,我只是想视图的框架,如果它的旋转为0
myView.transform = CGAffineTransformRotate(myView.transform, -currentRotationAngle);
这需要当前变换,并将其旋转到0度
编辑:我想你会需要通过当前的旋转值的逆旋转,而不仅仅是将其设置为0
要重新转动,同时保持过渡,你可以试试这个代码:
CGAffineTransform inverse = CGAffineTransformInvert(myView.affineTransform);
inverse.tx = 0;
inverse.ty = 0;
myView.transform = inverse;
'CGAffineTransformRotate'在这里没有帮助,因为它将该角度的旋转应用于现有旋转。 –
是否它不会将旋转返回到零,如果您通过例如-M_PI_2如果当前旋转是M_PI_2? – wattson12
当然,但你必须知道当前的旋转,以便像这样重置它。 –