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;

  • 相关阅读:
    RAID、LVM和btrfs文件系统
    RAID、LVM和btrfs文件系统
    python实现二分叉查找
    python实现二分叉查找
    python实现二分叉查找
    python实现二分叉查找
    java集合的简单用法
    java集合的简单用法
    java集合的简单用法
    用 AJAX 读取xml 节点属性值
  • 原文地址:https://www.cnblogs.com/iOS363536404/p/5430233.html
Copyright © 2011-2022 走看看