CABasicAnimation 简单的用法

//CABasicAnimation
这里写图片描述

这里一个简单的例子

- (void)scaleLayer {
    //初始化caLayer
    CALayer * scaleLayer = [[CALayer alloc]init];
    scaleLayer.backgroundColor = [UIColor blueColor].CGColor;
    scaleLayer.frame = CGRectMake(100, 100, 100, 100);
    scaleLayer.cornerRadius = 10;
    scaleLayer.contents = (id)[UIImage imageNamed:@"1"].CGImage;
    [self.view.layer addSublayer:scaleLayer];
    //设定动画

    //path 
    //transform
    //rotaion(x,y,z)  scale(x,y,z) translation(x,y,z)
    //eg: transform.scale.x
    /**
     *  CABasicAnimation 主要需要设置 的值
        1.keyPath:指定该动画怎么样执行
        2.fromValue toValue 
        3.autonreverses 回来的动画
        4.repeatCount 重复次数
        5.duration 持续时间
        6.fillMode 模式
     */
    CABasicAnimation * scaleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
    scaleAnimation.fromValue = @(1.0);
    scaleAnimation.toValue   = @(1.5);
    scaleAnimation.autoreverses = YES;// 这个是 从 1.0=》1.5 然后从 1.5=》1.0 (两次动画算一次动画)。如果是NO就是一直从1.0=》1.5(一次动画)
    scaleAnimation.repeatCount = MAXFLOAT;
    scaleAnimation.duration = 0.8;

    scaleAnimation.removedOnCompletion = NO;
    /**
     测试的时候 把 repeatCount = 1 

      removedOnCompletion = NO 才有下面的效果
     kCAFillModeForwards: 保持最后的动画状态( 动画时间点向前 = 》 过了初始状态)
     kCAFillModeBackwards:保持初始状态(动画时间点向后=》 初始状态)
     kCAFillModeBoth
     kCAFillModeRemoved

    开始(backward)-----动画执行------> 结束(Forword)

     */
    scaleAnimation.fillMode = kCAFillModeForwards;


    //开始执行动画
    [scaleLayer addAnimation:scaleAnimation forKey:@"scaleAnimation"];

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值