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

本文介绍了一款在iOS平台上实现的自定义动画库,该库支持任何数值型变量的自动动画展示,并提供多种动画效果,如回弹效果、弹性效果等。与iOS系统自带动画相比,此库具有更高的可配置性和易用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现了一套自定义动画库

罗朝辉 (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 效果的旋转菜单图:

 

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

转载于:https://www.cnblogs.com/kesalin/archive/2011/07/17/custom_animation.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值