• [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 效果的旋转菜单图:

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

  • 相关阅读:
    django学习笔记(一)
    Python之函数进阶
    Python之函数初识
    Python之文件操作
    基础补充
    字典
    神奇的列表
    万能的字符串
    Python基础(二)
    使用paramiko进行ssh连接
  • 原文地址:https://www.cnblogs.com/kesalin/p/custom_animation.html
Copyright © 2020-2023  润新知