CABasicAnimation做动画

本文通过具体的UIKit实例演示了如何使用CABasicAnimation实现UIView的位置移动及缩放动画效果,并详细介绍了如何让动画结束后停留在最终状态。

准备工作:拖一个UIView,来让它实现下面的动画


    // 创建动画
    CABasicAnimation *anim  = [CABasicAnimation animation];
    
    // 要修改哪个属性产生动画
    anim.keyPath = @"position"; //position 位置
    
    // 设置值
    anim.toValue = [NSValue valueWithCGPoint:CGPointMake(250, 250)];
    
    
    [_redView.layer addAnimation:anim forKey:nil];
上面动画完成之后回到原先位置,这不是我们想要的效果,我们需要动画完成之后保存在最新的位置:

    // 创建动画
    CABasicAnimation *anim  = [CABasicAnimation animation];
    
    // 要修改哪个属性产生动画
    anim.keyPath = @"position"; //position 位置
    
    // 设置值
    anim.toValue = [NSValue valueWithCGPoint:CGPointMake(250, 250)];
    
    // 动画完成保持在最新的位置,必须写下面2行代码
    anim.removedOnCompletion = NO;
    anim.fillMode = kCAFillModeForwards;
    
    [_redView.layer addAnimation:anim forKey:nil];

二、缩放效果

    // 创建动画
    CABasicAnimation *anim  = [CABasicAnimation animation];
    
    // 要修改哪个属性产生动画
    anim.keyPath = @"transform.scale";
    
    // 设置值
    anim.toValue = @0.8;
    
    // 设置动画执行的次数
    anim.repeatCount = MAXFLOAT;
    
    // 设置动画的时长
    anim.duration = 1;
    
    // 动画完成保持在最新的位置,必须写下面2行代码
    anim.removedOnCompletion = NO;
    anim.fillMode = kCAFillModeForwards;
    
    [_redView.layer addAnimation:anim forKey:nil];



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值