利用facebook pop进行数字的动画显示。

来源:互联网 发布:js 输出1 50的质数 编辑:程序博客网 时间:2024/06/05 14:02

最近项目用到要把数字从小到大动画显示。下面我来介绍一下具体做法。

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,感兴趣的同学可以下载下来自己看一下。

0 0
原创粉丝点击