核心动画 - CABasicAnimation

前言: 

1. 创建一个 UIView。可以是SB,也可以是 纯代码

2. 使用touchesBegin。

 

一、 移动动画

    // 1. 创建动画
    CABasicAnimation *anim = [CABasicAnimation animation];
    
    // 2. 描述下修改哪个属性产生动画,使用的是KVC
    anim.keyPath = @"position";
    
    // 3. 设置值
    anim.toValue  = [NSValue valueWithCGPoint:CGPointMake(250, 500)];
    
    [self.bgView.layer addAnimation:anim forKey:nil];

运行效果是:

 

二、不反弹的移动动画

1. 上一段代码的运行效果是当运行到设置的size的时候,会反弹到初始的size. 所以添加两行代码用来停止反弹

    // 3 and  4  是取消动画反弹,两者缺一不可
    // 3. 设置动画完成的时候不要移除动画
    anim.removedOnCompletion = NO;
    
    // 4. 设置动画执行完成要保持最新的效果
    anim.fillMode = kCAFillModeForwards;

三、缩放

 // 1. 创建动画
    CABasicAnimation *anim = [CABasicAnimation animation];
    
    // 2. 描述下修改哪个属性产生动画
    anim.keyPath = @"transform.scale";
    
    // 3. 设置值
    anim.toValue = @0.5;

    // 取消动画反弹
    // 4.1 设置动画完成的时候不要移除动画
    anim.removedOnCompletion = NO;
    // 4.2 设置动画执行完成要保持最新的效果
    anim.fillMode = kCAFillModeForwards;
    
    [self.bgView.layer addAnimation:anim forKey:nil];

 

四、无限缩放

1.只需要添加 一句代码

   // 3.1 可以无数次执行动画
    anim.repeatCount = MAXFLOAT;

posted on 2016-04-25 11:13  iOS学习-文  阅读(194)  评论(0编辑  收藏  举报

导航