示例代码简单易懂:
#import <uikit uikit.h=""> @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UILabel *dayLabel; @property (weak, nonatomic) IBOutlet UILabel *hourLabel; @property (weak, nonatomic) IBOutlet UILabel *minuteLabel; @property (weak, nonatomic) IBOutlet UILabel *secondLabel; @end</uikit>
#import
"ViewController.h"
@interface
ViewController ()
{
dispatch_source_t
_timer;
}
@end
@implementation
ViewController
/**
*
获取当天的年月日的字符串
*
这里测试用
*
@return 格式为年-月-日
*/
-(NSString
*)getyyyymmdd{
NSDate
*now = [NSDate date];
NSDateFormatter
*formatDay = [[NSDateFormatter alloc] init];
formatDay.dateFormat
= @"yyyy-MM-dd";
NSString
*dayStr = [formatDay stringFromDate:now];
return
dayStr;
}
-
(void)viewDidLoad
{
[super
viewDidLoad];
NSDateFormatter
*dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter
setDateFormat:@"yyyy-MM-dd"];
NSDate
*endDate = [dateFormatter dateFromString:[self getyyyymmdd]];
NSDate
*endDate_tomorrow = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate:([endDate timeIntervalSinceReferenceDate] +
24*3600)];
NSDate
*startDate = [NSDate date];
NSTimeInterval
timeInterval =[endDate_tomorrow timeIntervalSinceDate:startDate];
if
(_timer==nil) {
__block
int
timeout = timeInterval; //倒计时时间
if
(timeout!=0)
{
dispatch_queue_t
queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
_timer
= dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0,
0,queue);
dispatch_source_set_timer(_timer,dispatch_walltime(NULL,
0),1.0*NSEC_PER_SEC,
0);
//每秒执行
dispatch_source_set_event_handler(_timer,
^{
if(timeout<=0){
//倒计时结束,关闭
dispatch_source_cancel(_timer);
_timer
= nil;
dispatch_async(dispatch_get_main_queue(),
^{
self.dayLabel.text
= @"";
self.hourLabel.text
= @"00";
self.minuteLabel.text
= @"00";
self.secondLabel.text
= @"00";
});
}else{
int
days = (int)(timeout/(3600*24));
if
(days==0)
{
self.dayLabel.text
= @"";
}
int
hours = (int)((timeout-days*24*3600)/3600);
int
minute = (int)(timeout-days*24*3600-hours*3600)/60;
int
second = timeout-days*24*3600-hours*3600-minute*60;
dispatch_async(dispatch_get_main_queue(),
^{
if
(days==0)
{
self.dayLabel.text
= @"0天";
}else{
self.dayLabel.text
= [NSString stringWithFormat:@"%d天",days];
}
if
(hours<10)
{
self.hourLabel.text
= [NSString stringWithFormat:@"0%d",hours];
}else{
self.hourLabel.text
= [NSString stringWithFormat:@"%d",hours];
}
if
(minute<10)
{
self.minuteLabel.text
= [NSString stringWithFormat:@"0%d",minute];
}else{
self.minuteLabel.text
= [NSString stringWithFormat:@"%d",minute];
}
if
(second<10)
{
self.secondLabel.text
= [NSString stringWithFormat:@"0%d",second];
}else{
self.secondLabel.text
= [NSString stringWithFormat:@"%d",second];
}
});
timeout--;
}
});
dispatch_resume(_timer);
}
}
}
<span
style="font-family:
Arial, Verdana, sans-serif;">效果:</span>
以上所述是小编给大家介绍的iOS中实现简单易懂秒杀倒计时/倒计时代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# ios秒杀倒计时代码
# ios
# 秒杀倒计时
# IOS开发代码分享之用nstimer实现倒计时功能
# IOS实现验证码倒计时功能(一)
# IOS关于大型网站抢购、距活动结束
# 剩余时间倒计时的实现代码
# ios 实现倒计时的两种方式
# iOS中让多个cell上都出现倒计时的分析与实现
# iOS实现毫秒倒计时的方法详解
# iOS获取短信验证码倒计时的两种实现方法
# iOS启动页倒计时跳过按钮功能
# Swift实现iOS应用中短信验证码倒计时功能的实例分享
# iOS实现秒杀活动倒计时
# 倒计时
# 小编
# 在此
# 给大家
# 所述
# 给我留言
# 感谢大家
# 格式为
# 疑问请
# 有任何
# 当天
# 秒杀
# NSDate
# getyyyymmdd
# date
# NSDateFormatter
# _timer
# dispatch_source_t
# implementation
# NSString
相关文章:
b2c电商网站制作流程,b2c水平综合的电商平台?
贸易公司网站制作流程,出口贸易网站设计怎么做?
如何快速生成ASP一键建站模板并优化安全性?
油猴 教程,油猴搜脚本为什么会网页无法显示?
如何通过多用户协作模板快速搭建高效企业网站?
Python lxml的etree和ElementTree有什么区别
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
建站之星如何助力网站排名飙升?揭秘高效技巧
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
已有域名如何快速搭建专属网站?
如何构建满足综合性能需求的优质建站方案?
专业网站建设制作报价,网页设计制作要考什么证?
北京专业网站制作设计师招聘,北京白云观官方网站?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
建站之星代理商如何保障技术支持与售后服务?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
C++中引用和指针有什么区别?(代码说明)
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
高防服务器租用如何选择配置与防御等级?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
网站制作网站,深圳做网站哪家比较好?
如何在腾讯云免费申请建站?
建站之星北京办公室:智能建站系统与小程序生成方案解析
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
重庆市网站制作公司,重庆招聘网站哪个好?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
制作网站的公司有哪些,做一个公司网站要多少钱?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
小型网站建站如何选择虚拟主机?
为什么Go需要go mod文件_Go go mod文件作用说明
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
如何在阿里云香港服务器快速搭建网站?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
如何用AWS免费套餐快速搭建高效网站?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
定制建站方案优化指南:企业官网开发与建站费用解析
网站制作大概多少钱一个,做一个平台网站大概多少钱?
如何选择靠谱的建站公司加盟品牌?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
微信小程序 五星评分(包括半颗星评分)实例代码
如何在宝塔面板中修改默认建站目录?
金*站制作公司有哪些,金华教育集团官网?
建站之星后台管理如何实现高效配置?
如何在服务器上三步完成建站并提升流量?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
建站中国官网:模板定制+SEO优化+建站流程一站式指南
*请认真填写需求信息,我们会在24小时内与您取得联系。