全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

iOS中实现简单易懂秒杀倒计时/倒计时代码

示例代码简单易懂:

#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小时内与您取得联系。