• [Cocoa]实现了一套自定义动画库


    实现了一套自定义动画库

    罗朝辉 (http://www.cnblogs.com/kesalin/)

    本文遵循“署名-非商业用途-保持一致”创作公用协议

     

    最近在 iOS 上实现了一套自定义动画库,可以支持任何数值型变量的值的自动动画演示,并支持多种动画效果,效果还是很炫的。比如说你设置了一个偏移变量从50变到100,那么这个变化过程就可以以动画形式进行,而不是常规的一步到位。与 iOS 系统自带的 Animation 相比,我的这套自定义动画库,可配置性更高,使用更简单。用 set 表示有动画的设定值,用 update 表示常规的没有动画的设定值。目前支持的动画类型如下:

    enum EaseType_ {

        EaseType_None,

        EaseType_In,

        EaseType_Out,

        EaseType_InOut,

    };

    typedef int EaseType;

     

    enum AnimationType_ {

        AnimationType_Linear,

        AnimationType_Bounce,

        AnimationType_Back,

        AnimationType_Quartic,

        AnimationType_Quintic,

        AnimationType_Circular,

        AnimationType_Cubic,

        AnimationType_Quadratic,

        AnimationType_Sinusoidal,

        AnimationType_Elastic,

    };

    typedef int AnimationType;


    使用例子:

    // setup animation
    //
    propertyValue.duration = duration;
    propertyValue.easeType = EaseType_Out;
    propertyValue.animationType = AnimationType_Back;
    // AnimationType_Elastic
    // AnimationType_Back
    // AnimationType_Bounce

    // start animation
    [propertyValue setValue:targetValue];

    带回滚效果的旋转 Pie 图:

    Bounce 效果的旋转菜单图:

    有空了再整理实现思路,详细写篇文章,放出源码来。

  • 相关阅读:
    什么事数据对象以及属性分为什么类型?
    Oracle数据库安装
    红黑树和B树
    Java多线程02
    HashMap分析
    java虚拟机——垃圾回收与内存分配
    Java虚拟机——对象
    Java虚拟机——内存
    java数据结构03
    LeetCode刷题
  • 原文地址:https://www.cnblogs.com/kesalin/p/custom_animation.html
Copyright © 2020-2023  润新知