全网整合营销服务商

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

免费咨询热线: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 


相关文章: 免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  高端企业智能建站程序:SEO优化与响应式模板定制开发  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  建站之星伪静态规则如何设置?  太平洋网站制作公司,网络用语太平洋是什么意思?  如何快速生成高效建站系统源代码?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  如何快速搭建个人网站并优化SEO?  江苏网站制作公司有哪些,江苏书法考级官方网站?  建站168自助建站系统:快速模板定制与SEO优化指南  想学网站制作怎么学,建立一个网站要花费多少?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  jQuery 常见小例汇总  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  制作农业网站的软件,比较好的农业网站推荐一下?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  寿县云建站:智能SEO优化与多行业模板快速上线指南  桂林网站制作公司有哪些,桂林马拉松怎么报名?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  活动邀请函制作网站有哪些,活动邀请函文案?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  建站主机无法访问?如何排查域名与服务器问题  建站之星收费标准详解:套餐费用及年费价格表一览  建站之星logo尺寸如何设置最合适?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  大型企业网站制作流程,做网站需要注册公司吗?  C#如何使用XPathNavigator高效查询XML  如何规划企业建站流程的关键步骤?  网站微信制作软件,如何制作微信链接?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何在景安服务器上快速搭建个人网站?  建站之星后台密码遗忘?如何快速找回?  购物网站制作公司有哪些,哪个购物网站比较好?  如何用已有域名快速搭建网站?  建站主机CVM配置优化、SEO策略与性能提升指南  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  如何快速选择适合个人网站的云服务器配置?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  广德云建站网站建设方案与建站流程优化指南  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  如何挑选优质建站一级代理提升网站排名?  建站VPS能否同时实现高效与安全翻墙?  如何解决VPS建站LNMP环境配置常见问题? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。