zoukankan      html  css  js  c++  java
  • 核心动画

    前言: 

    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;

  • 相关阅读:
    测试人员在软件开发过程中的任务是什么?
    python关于文件操作
    字符编码
    内置方法
    数据类型的基本使用
    Python的流程控制
    Python与用户相交互
    编程语言的发展史
    计算机的五大组成
    可迭代对象 迭代器对象 生成器对象
  • 原文地址:https://www.cnblogs.com/iOS363536404/p/5430233.html
Copyright © 2011-2022 走看看