【iOS】关于视图的旋转和复原(CGAffineTransform)

我就以我自己的简单的旋转来抛砖引玉了。

首先,你创建一个view,然后实现view 的旋转动画和复原

旋转的的代码:

 [UIView animateWithDuration:2.0f animations:^{
        self.tranView.transform = CGAffineTransformMakeRotation(M_PI);
        
    } completion:^(BOOL finished) {

    }];
顺时针旋转180度

复原的两种方式代码:

   [UIView animateWithDuration:2.0f animations:^{
//        复原
        self.tranView.transform = CGAffineTransformIdentity;
//        复原第二种方法
//        self.tranView.transform = CGAffineTransformMakeRotation(2*M_PI);

    } completion:^(BOOL finished) {
        
    }];


关于旋转的角度:

/* Return a transform which rotates by `angle' radians:
     t' = [ cos(angle) sin(angle) -sin(angle) cos(angle) 0 0 ] */

CG_EXTERN CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle)

输入的是弧度,需要把角度转化为弧度。

由于CGAffineTransform 实现旋转的方式很多,在此相当于抛砖引玉了,自行研究一下!





你可能感兴趣的:(【iOS】关于视图的旋转和复原(CGAffineTransform))