倒计时

作者: 和珏猫 | 来源:发表于2016-08-30 17:02 被阅读106次

最近一直没有更新简书是因为在开发和测试阶段,有任务,没有进行学习,不过在做任务的时候也遇到了一些技术点,在这里总结一下。

今天遇到一个需求是倒计时的制作

首先我们先捋捋思路,肯定是用到NSTimer,这里我的页面上涉及到scrollview,所以将timer放在了NSRunLoopCommonModes里面了,具体原因请查看RunLoop

打比方我们设计的是一个30分钟的倒计时,那么我们涉及到三个时间点:

1、订单产生的时间--addTime(creatTime)

2、当前时间--currentTime

3、订单结束的时间--addTime+30分钟

我们需要做的就是上述2和3的时间进行比较,如果2大,那么说明订单已经超时了。如果3大,说明订单还存活。

下边是代码,最主要的一步就是红框里面的。

因为我们的需求是“剩23分44秒自动关闭”里面,汉字是黑色的,数字是橙红色的,所以下半部分代码做的是位置的判断和颜色的添加。

这里还需要注意的一点是,self.attrString用的不是NSString,而是NSMutableAttributedString,所以在给label赋值的时候选择是label.attributedText。不然会报黄色警告甚至崩溃。

位置的判断是将数字插入在了汉字中间,做位置的判断和label.attributedText的处理,保证了汉字和数字之间的距离是随着数字的两位或者一位数进行frame的调整,避免间距太大,太难看。

我们判断当分钟数和秒数都为0时或者有一个是负数时,我们就把定时器停掉,然后去发送取消订单的请求。

当然,这里只是介绍了一个定时器的制作,如果在tabelview里面每个cell上边都有定时器的话,那么我们同样需要注意创建NSTimer的时候,将timer放在NSRunLoop里面的NSRunLoopCommonModes里。

最后,哪里不对的地方可以给我留言,我会及时改进的,谢谢大家。

相关文章

  • 倒计时

    新年倒计时…中考倒计时…高考倒计时…告别学生倒计时…假期倒计时…睡觉倒计时…起床倒计时… 生活中,很多与我们息息相...

  • 倒计时不仅使我们焦躁,还可以使我们振奋啊

    中考倒计时,高考倒计时, 倒计时100天 倒计时50天 倒计时10天 倒计时5天 ........ 这个场景想必在...

  • 倒计时

    文/木子 开学倒计时了 爸妈回去倒计时了 教师节倒计时了 国庆节倒计时了 小儿12岁倒计时了 寒假倒计时了 元旦倒...

  • wordlist 13

    倒计时倒计时

  • wordlist 11

    倒计时倒计时

  • van-count-down 倒计时相关问题

    1. 倒计时重置问题 背景:业务需要在开启倒计时、暂停、恢复倒计时实时判断是否展示倒计时,并重置倒计时 问题:直接...

  • iOS开发-倒计时

    倒计时 倒计时60s 倒计时HH-MM-SS 1.倒计时60s 很多时候在点击按钮发送短信的时候需要倒计时读秒 2...

  • 10.27

    倒计时第一天,倒计时7,好想赶快到倒计时1。

  • 1小时倒计时

    倒计时 目前我们内部用的比较多的倒计时:一个小时的倒计时、12个小时的倒计时。 examinePassTime:审...

  • js中date倒计时

    获取倒计时之前,我们不妨先来看怎样获取当前时间吧!!! 获取倒计时 1、实现倒计时功能2、倒计时结束按钮可被点击,...

网友评论

      本文标题:倒计时

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