美文网首页iOS开发指南Ios@IONICiOS Developer
倒计时再多也不怕!(已封装)

倒计时再多也不怕!(已封装)

作者: 马铃薯蜀黍 | 来源:发表于2017-04-21 17:47 被阅读1119次
iOS倒计时

特点 :
1.随意更改手机上的时间倒计时会出错?
不会.详解如下.
2.自定义的tableViewCell能不能用?
适用于任何自定义的tableViewCell都能用.
3.创建过多倒计时时间不准卡顿影响性能?
全局只开启一个GCD倒计时0卡顿.
4.使用复杂?
只需三步只需5行代码轻松搞定列表倒计时!
5.分组数据能不能用?
同样只需三步只需5行代码轻松搞定列表倒计时!
6.框架依赖太多?
只需要一个AFN即可.
7.有没有demo?
demo下载https://github.com/zhYes/YSTimeCountDown
效果展示http://www.jianshu.com/p/3c49b44e45b4
代码介绍篇:http://www.jianshu.com/p/85909aabf058

无分组效果 有分组效果

代码部分 : 1.不分组的使用步骤

第一步.png
/// 1.初始化 传入当前视图和数据数组
    countDown = [[YSCountDown alloc] initWith:self.tableView :self.dataList];

注意点: 数据数组元素为结束时间的时间戳

第二部.png
 /// 2.销毁
    [countDown destoryTimer];
第三部.png
/// 3.绑定tag
    cell.tag = indexPath.row;
    cell.endTimeLabel.tag = 1314;
    cell.endTimeLabel.text = [countDown countDownWithPER_SEC:indexPath];

注意点: 将要显示倒计时的label绑定tag为1314

  • 代码部分 : 2.表格分组的使用步骤
    区别在第三步如下:

分组第三部.png
    /// 3.绑定tag
    cell.tag = indexPath.section * 1000 + indexPath.row;
    cell.endTimeLabel.tag = 1314;
    cell.endTimeLabel.text = [countDown countDownWithPER_SEC:indexPath];

注意点: cell的tag为section*1000 + row;

==>原理
一个定时器管理600个倒计时
========= 任何其他问题,欢迎留言,愿与你一起学习😁=====
=====选择做iOS开发都是真的猛士!加油吧==========

2017-09-01

感谢小哥们给的建议,非常好.

新增字段BOOL "isPlusTime"
默认为0,需传入结束时间时间戳的数组,即开始倒计时.直至时间结束显示活动结束.
赋值为1或者 YES, 传入开始时间的时间戳,时间开始++,小于当前时间显示活动未开始.

Untitled3.gif

//2018年03月20日09:48:01更新:
//2018年03月20日09:48:01更新:
//2018年03月20日09:48:01更新:
~
有朋友反映出现了倒计时一万多天的情况,经过几次调试,发现我这里有一个获取当前时间时间戳的接口 用来校准服务器时间和手机当前时间的差值
当这个接口不好用 获取不到的时候就是这个样子了 建议让后台自己做个接口 来替换 YSCountDown.m里面的@"http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json"这个接口就好了,即:

接口位置.jpg
QQ20180320-095232.gif
注意:1.时间戳单位这里是秒.2.自己接口取时间戳的key替换.
2018年03月20日@end
2018年03月20日@end
2018年03月20日@end
~

相关文章

  • 倒计时再多也不怕!(已封装)

    特点 :1.随意更改手机上的时间倒计时会出错?不会.详解如下.2.自定义的tableViewCell能不能用?适用...

  • 再多的风雨也不怕

    竹子中的不趁波逐浪者,我习惯性的把它们叫做“狷介者”。尘俗、杂尘,仅仅一种生计的环境,至于能在其间获取些什么,都不...

  • 【原创】弯路再多也不怕

    今早偶尔让我看到了张爱玲的一段话“ 在人生的路上,有一条路每个人非走不可,那就是年轻时候的路。” 初读张爱玲的这句...

  • 霉运再多我也不怕

    最近头上有霉神,所以不开心的事情接二连三的发生,但是霉运走到底,通常都预示着好运就要开始了。

  • 2017-10-15

    来晒SHAI 好好花钱,人人有责。 已关注 最聪明的衣柜整理法,衣服再多也不怕! 总是找不到自己想穿的衣服?打开衣...

  • 人在旅途之心境

    从来不怨命运之错 , 不怕旅途多坎坷。 向着那梦中的地方去 , 错了我也不悔过。 人生本来苦恼已多 , 再多一次又...

  • 做好这几点,工作再多也不怕

    觉得时间不够用?觉得每天事情都做不完呢?觉得每天忙得要死,事情还做不好? 那是你没有合理梳理你的工作和安排好你的时...

  • 再多人也不怕,春节畅游迪士尼

    玩转迪士尼最重要的秘籍 只有一个字! 早! 建议在开园前半小时到达安检,人多的时候有可能还会提前开园。所以必须早到...

  • 事情再多也不怕,慢慢来

    昨天忘记日更了,昨天所有的行程都有些混乱。 朋友家没去成,两篇文章没完成,又来了新的任务。 一切都显得杂...

  • jdM站首页

    导航变色方法封装 banner轮播图方法封装 倒计时秒杀方法

网友评论

  • 拾拾拾拾拾拾拾拾拾拾:实现了页面的多个倒计时 也不卡顿 使用超级简单 赞👍
  • 拾拾拾拾拾拾拾拾拾拾:问下这个怎么更新数据呢 比如我是请求返回的结果 然后我刷新又从新请求了一次
    马铃薯蜀黍:@RookieLi YSCountDown...我自己项目里命名是MK开头不好意思
    拾拾拾拾拾拾拾拾拾拾:@马铃薯蜀黍 MKCountDown ?
    马铃薯蜀黍:///销毁之前的
    [_countDown destoryTimer];
    _countDown = nil;
    ///重新创建赋值
    _countDown = [[MKCountDown alloc] init];
    [_countDown countDownWithPER_SEC:self.rituan :rituanModel.tuan];
  • 无言soul:大神,加刷新 您这个还好用嘛?
    马铃薯蜀黍:@无言soul :smile:客气了 感谢你的问题 有时间我加一下
    无言soul:@马铃薯蜀黍 好的,谢谢回复。
    马铃薯蜀黍:@无言soul 有小伙伴加过 我还没试
  • ad3fd5aca069:新人请教,为什么用的时候,有时候会出现所有倒计时时间都是一万多天以后开始倒计时的bug,有时候又没事,有时候又出现,demo也是,有时有bug有时没有bug
    马铃薯蜀黍:@bls 好的呢
    ad3fd5aca069:@马铃薯蜀黍 :joy: 下次bug出现我截图下来吧,再来请教大哥帮忙看看
    马铃薯蜀黍:@bls 我自己项目也一直用的好的呀:scream:
  • 1ee225d350f6:你好,编译的时候报这个错误是什么意思?
    Undefined symbols for architecture x86_64:
    "_OBJC_CLASS_$_YSCountDown", referenced from:
    objc-class-ref in QTHomeViewController.o
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    1ee225d350f6:@马铃薯蜀黍 谢谢,解决了,是新Xcode问题, .m文件没有勾选
    马铃薯蜀黍:是由于编译环境导致的
  • Mr卿:下拉刷新 上拉加载更多 写没有
    Mr卿:@马铃薯蜀黍 。。。。我能加一个么
    马铃薯蜀黍:@薇薇卿 没弄
  • _介夫:那么问题来了, 我现在需要的是等待时间, 也就是定时 ++, 能用楼主这个吗
    马铃薯蜀黍:@_介夫 好奇怪的需求:joy:有时间我尝试一下
    _介夫:@马铃薯蜀黍 是的呢
    马铃薯蜀黍:@_介夫 多个cell 的时间++?
  • f1cde2aba251:写不错,挺细致的,刚好项目有用到这个,到时候做的时候有不懂得再请教你,赞
    马铃薯蜀黍:@_天青色等烟雨_ 谢谢
  • CuiAnkly:你好,请问能细致讲解下么,看不懂啊

本文标题:倒计时再多也不怕!(已封装)

本文链接:https://www.haomeiwen.com/subject/dcgdzttx.html