利用POPAnimatableProperty属性来实现动画倒计时
2015-09-24 17:20
621 查看
POPAnimatableProperty *prop = [POPAnimatableProperty propertyWithName:@"countdown" initializer:^(POPMutableAnimatableProperty *prop) { prop.writeBlock = ^(id obj,const CGFloat values[]) { NSLog(@"%d",(int)values[0]); NSString *timestring = [NSString stringWithFormat:@"%02d:%02d:%02d",(int)values[0]/60,(int)values[0]%60,(int)(values[0]*100)%100]; _lblTest.attributedText = [self formatterTime:timestring]; }; }]; POPBasicAnimation *anBasic = [POPBasicAnimation linearAnimation]; //秒表当然必须是线性的时间函数 anBasic.property = prop; //自定义属性 anBasic.fromValue = @(1*60); //从0开始 anBasic.toValue = @(0); //180秒 anBasic.duration = 1*60; //持续3分钟 anBasic.beginTime = CACurrentMediaTime(); //延迟1秒开始 [_lblTest pop_addAnimation:anBasic forKey:@"countdown"]; } - (NSMutableAttributedString *)formatterTime:(NSString *)currentString { NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc]initWithString:currentString]; for (NSInteger i = 0; i<3; i++) { [attribute addAttributes:@{ NSBackgroundColorAttributeName:[UIColor redColor], NSForegroundColorAttributeName:[UIColor whiteColor], } range:NSMakeRange(3*i, 2)]; } return attribute; } @end
![](http://images2015.cnblogs.com/blog/457309/201509/457309-20150924171936319-1728589777.gif)
相关文章推荐
- Tomcat 6.0/webapps/项目名/WEB-INF/classes下为空解决方案
- centos搭建PHP的常见问题汇总
- 【LeetCode】Expression Add Operators
- nginx rewrite伪静态后产生的错误链接
- tomcat的配置
- 关于System.arraycopy数组复制的一个问题
- Solr+Zookeeper+HDFS+Tomcat 配置一些理解
- centos crontab(定时任务) 使用
- linux下怎么查看ssh的用户登录日志
- 使用Docker Compose创建监控环境
- Linux磁盘读写缓慢问题追踪
- Nginx配置文件详细说明
- Tomcat8多实例安装
- linux环境中的arm程序编辑器eclipse安装及使用方法
- 树莓派+8187L 安装 kali linux 跑pin
- 编译源码 - 【OpenCV 3.0 + TBB + IPP + OpenMP + CUDA】- 【win7x64 + vs2012】
- HADOOP基本操作命令
- CentOS评估磁盘I/O性能读写极限测试
- 如何在 linux 中搭建 FTP 服务
- 如何选择 Linux 上的跟踪器