CATransaction隐式动画的初级用法

860 阅读1分钟

1.什么是隐式动画

如标题所示,CATransaction就是iOS系统提供的隐式动画。它是在修改UI控件状态时的动画,它的时长为0.25秒,所以如果我们不注意,是无法感知到的。

2.修改隐式动画

//开始
[CATransaction begin];
//修改隐式动画时间
[CATransaction setAnimationDuration:2.0];

//这时候的修改颜色的动画的时间会变为2.0秒
self.layer.backgroundColor = [UIColor greenColor].CGColor;
//修改完成时执行动画
[CATransaction setCompletionBlock:^{
    CGAffineTransform transform = self.layer.affineTransform;
    //旋转
    transform = CGAffineTransformRotate(transform, M_PI);
    //缩放
    transform = CGAffineTransformScale(transform, 0.5, 0.5);
    //平移
    transform = CGAffineTransformTranslate(transform, 100, 100);
        
    self.layer.affineTransform = transform;
 }];
    
//提交修改
[CATransaction commit];

begincommit成对出现,在begin后才能修改,修改完后需要commit才能生效.

3.隐式动画高级用法

更新中...