实现了一套自定义动画库

罗朝辉(http://blog.csdn.net/kesalin)

转载请注明出处


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

<style type="text/css"> p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; min-height: 14.0px} span.s1 {color: #bf2e9d} </style>

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 图:

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


Bounce效果的旋转菜单图:


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


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



相关文章: