代码改变世界

iOS - 基础动画

2017-01-18 14:13  菜鸟Alex  阅读(179)  评论(0编辑  收藏  举报

代码


    CABasicAnimation *anima = [CABasicAnimation animationWithKeyPath:@"transform.scale"];//同上
    anima.toValue = [NSNumber numberWithFloat:0];
    anima.duration = 1;
    anima.delegate = self;
    //以下两行代码是为了动画执行完毕后不会恢复原状
    anima.fillMode=kCAFillModeForwards;
    anima.removedOnCompletion = false;
     //redView是要执行动画的view此处的key是随便写的,与其他动画区别开来
    [self.redView.layer addAnimation:anima forKey:@"scaleAnimation"];

代理方法动画执行完毕调用


- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{

    if (flag) {
        [self.redView removeFromSuperview];
        self.redView = nil;
        NSLog(@"%zd行 %s",__LINE__,__func__);
    }
}

KeyPath有一下几种

keypath 说明
rotation.x 绕x轴旋转
rotation.y 绕y轴
rotation.z 绕z轴
rotation 中心点旋转
scale.x x轴缩放
scale.y y轴缩放
scale.z z轴缩放
scale 中心点缩放
translation.x x轴移动动画
translation.y y轴移动动画
translation.z z轴移动动画
translation 中心点动画