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
當然,但你必須知道當前的旋轉,以便像這樣重置它。 –