倒计时按钮-HTCountDownButton

我项目中经常会遇到一个情况,在tableview的cell中会有倒计时的显示,但是cell有复用的机制,所以做倒计时有点麻烦,我自己做了这么个轮子,方便使用。
github下载地址: https://github.com/KingXcode/HTCountDownButton

HTCountDownButton继承与UIButton

按钮的内容是居左显示,与正常的button居中显示不一样,
如果需要正常请设置contentHorizontalAlignment属性为居中显示
结束的时间戳  如果是服务器的时间戳需要除以1000
只要设定好结束时间即可开始进行倒计时
@property (nonatomic,assign)NSTimeInterval endTime;
倒计时回调。大约每0.1秒左右回调一次
time 是剩余的秒数
info 字典对time进行了分解  需要就用 不需要就不要理这个参数
一下是info中具体包含的数据
NSDictionary *info = @{
                        @"hours"             :@(hours),
                        @"minutes"         :@(minutes),
                        @"seconds"        :@(seconds),
                        @"millisecond"   :@(millisecond)
                        };

@property (nonatomic, copy) void(^countDownChanging)(HTCountDownButton *,NSTimeInterval time,NSDictionary *info);
倒计时结束的时候调用
@property (nonatomic, copy) void(^countDownEnd)(HTCountDownButton *);
实现原理:
-(void)setEndTime:(NSTimeInterval)endTime;
该方法给_endTime变量赋值,并且会对比当前时间的时间戳与_endTime时间戳计算秒数并且给 _limit赋值

-(void)setLimit:(NSTimeInterval)limit;
此方法中会判断定时器是否存在,不存在则创建启动定时器开始倒计时
此外还有一个label的分类。实现原理与button的原理一样。
并且这个label的分类也可用在button的的子控件label中。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 好想好想和你在一起和你一起数天上的星星收集春天的细雨 从食堂出来,看到一对情侣紧紧抱着,男孩紧紧的把女...
    思想的舵手阅读 583评论 1 9
  • 开悟者直指人心, 放下执着心释然。 神态自若皆安祥, 明心见性方成佛! 『看图表述』 �����林灵
    好帅麻阅读 391评论 0 1
  • 入夜,踏下民宿的木梯,内心告诉我,傍晚在那群明信片中看到的那张“聆”必须要寄出去,寄给那个合适的她。 ...
    槐和秦岭阅读 202评论 0 0