最近项目用到要把数字从小到大动画显示。下面我来介绍一下具体做法。
1.首先用CocoaPods安装pop引擎到项目,安装CocoaPods来看这篇博文http://www.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/,在次不在赘述。
2.安装pop引擎,https://github.com/facebook/pop,安装说明在github有详细说明,按照说明操作即可,非常简单。
3.安装完成后,在头文件#import<pop/POP.h>就可以进行动画设置了,下面我用一段代码来演示如何给UILabel加入动画显示数字的效果。
//创建基本动画
POPBasicAnimation *anim = [POPBasicAnimation animation];
//动画持续时间
anim.duration = 1;
//时间函数
anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
//创建动画属性
POPAnimatableProperty * prop = [POPAnimatableProperty propertyWithName:@"count" initializer:^(POPMutableAnimatableProperty *prop) {
// 读的block函数
prop.readBlock = ^(id obj, CGFloat values[]) {
values[0] = [[obj description] floatValue];
};
// 写的block函数
prop.writeBlock = ^(id obj, const CGFloat values[]) {
[obj setText:[NSString stringWithFormat:@"%.0f",values[0]]];
};
// 力学阀值
prop.threshold = 1;
}];
anim.property = prop;
anim.fromValue = @(0.0);
anim.toValue = @(percent);
[label pop_addAnimation:anim forKey:@"counting"];4.效果如图所示。
5.demo地址:https://github.com/goodlmk/CircleView,感兴趣的同学可以下载下来自己看一下。
本文介绍如何利用pop引擎将数字以动画形式从小到大显示。通过CocoaPods安装pop引擎,设置基本动画,为UILabel添加动画,实现数字递增的视觉效果。
681

被折叠的 条评论
为什么被折叠?



