没有合适的资源?快使用搜索试试~ 我知道了~
前言 大家应该都知道在app开发中,当展示限时优惠的某些商品时,往往会加一个倒计时,提示用户该商品限时优惠所剩的时间,。那对于开发者来说,这就需要我们去实现的是一个倒计时的功能,这个倒计时根据具体需求,可以以天、小时、分、秒、毫秒作单位。 今天呢,主要说说毫秒计时器。我们知道秒和毫秒之间的进制是1000,也就是说1秒=1000毫秒,那我们做毫秒倒计时器的时候是设置一个时间间隔为1毫秒的计时器,逐一减少毫秒数。但是这样的话太耗时了,所以很多的毫秒计时器中的毫秒数只是0-9之间的数字,这就意味着,这个毫秒计时器的时间间隔是100毫秒,这样相比起1毫秒为间隔的计时器,其消耗就少了很多,同时也达到毫秒
资源推荐
资源详情
资源评论
iOS实现毫秒倒计时的方法详解实现毫秒倒计时的方法详解
前言前言
大家应该都知道在app开发中,当展示限时优惠的某些商品时,往往会加一个倒计时,提示用户该商品限时优惠所剩的时
间,。那对于开发者来说,这就需要我们去实现的是一个倒计时的功能,这个倒计时根据具体需求,可以以天、小时、分、
秒、毫秒作单位。
今天呢,主要说说毫秒计时器。我们知道秒和毫秒之间的进制是1000,也就是说1秒=1000毫秒,那我们做毫秒倒计时器的时
候是设置一个时间间隔为1毫秒的计时器,逐一减少毫秒数。但是这样的话太耗时了,所以很多的毫秒计时器中的毫秒数只是
0-9之间的数字,这就意味着,这个毫秒计时器的时间间隔是100毫秒,这样相比起1毫秒为间隔的计时器,其消耗就少了很
多,同时也达到毫秒计时的效果。
那对于整个毫秒倒计时的实现思路就是:得到未来某个日期的时间戳和当前日期的时间戳,计算这两者之间的时间差,然后设
置一个时间间隔为100毫秒的计时器,每隔100毫秒,更新一下倒计时器上相应的数值。
实现方法实现方法
自定义一个UIview,将倒计时封装起来。
一、在一、在MsecCountDownView.h中增加时间戳和计时器这两属性中增加时间戳和计时器这两属性
@interface MsecCountDownView : UIView
@property(nonatomic, assign)double timeInterval;//未来某个日期的时间戳
@property(nonatomic, strong)NSTimer *timer ; //定时器
@end
二、在二、在MsecCountDownView.m实现相关实现相关UI及倒计时方法及倒计时方法
@interface MsecCountDownView (){
UIView *countdownBackView;
CGFloat _passTime;
}
@property(nonatomic, strong)UILabel *tipLabel;
@property(nonatomic, strong)UILabel *hoursLabel;
@property(nonatomic, strong)UILabel *minutesLabel;
@property(nonatomic, strong)UILabel *secondsLabel;
@property(nonatomic, strong)UILabel *millionSecondsLabel;
@property(nonatomic, strong)UILabel *label1;
@property(nonatomic, strong)UILabel *label2;
@property(nonatomic, strong)UILabel *label3;
@property(nonatomic, strong)UILabel *label4;
@end
创建相关UI
- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
countdownBackView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
[self addSubview:countdownBackView];
_tipLabel=[[UILabel alloc] init];
_tipLabel.frame = CGRectMake(0, 0, 40, countdownBackView.frame.size.height);
[countdownBackView addSubview:_tipLabel];
_tipLabel.font = [UIFont systemFontOfSize:12];
//小时
_hoursLabel=[[UILabel alloc] initWithFrame:CGRectMake(_tipLabel.frame.origin.x+_tipLabel.frame.size.width, 0, 35,
countdownBackView.frame.size.height)];
[countdownBackView addSubview:_hoursLabel];
_hoursLabel.font = [UIFont systemFontOfSize:11];
_label1=[[UILabel alloc] initWithFrame:CGRectMake(_hoursLabel.frame.origin.x+_hoursLabel.frame.size.width,
_hoursLabel.frame.origin.y, 8, countdownBackView.frame.size.height)];
资源评论
weixin_38649315
- 粉丝: 6
- 资源: 932
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- XX人民法院大楼安保系统整体解决方案Word(103页).docx
- 法院大楼安保系统整体解决方案PPT(25页).pptx
- 法院办公楼智能化规划设计方案PPT(96页).pptx
- 法院安防系统解决方案Word(77页).docx
- 法院高清智能庭审系统解决方案PPT(28页).pptx
- 法院大楼无线网络解决方案Word(26页).doc
- 法院大楼安保系统整体解决方案Word(85页).docx
- 法院执行指挥调度系统Word(33页).docx
- 法院执行指挥调度系统解决方案PPT(31页).pptx
- 法院执行指挥调度系统解决方案Word(57页).docx
- 法院综合安全监管平台解决方案PPT(53页).pptx
- 法院综合安全监管平台解决方案(深信服)PPT(53页).pptx
- 53页-智慧法院解决方案.pdf
- 43页-智慧法院庭审系统解决方案.pdf
- 学生作业-QQ音乐首页 该项目为html前端项目,主要QQ音乐首页列表 涉及html、js、css
- 基于QT的智慧交通管理系统(Day1)中的image文件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功