`
lovebirdegg
  • 浏览: 175036 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

用NSTimer实现倒计时

阅读更多
今天在CocoaChina上面看到有人在问倒计时怎么做,记得以前在看Iphone31天的时候做过一个,今天翻出来运行不了了,原因是我的Iphone SDK升级到3.1了,以前使用的是2.2.1,在2.2.1里面是可以使用NSCalendarDate的,但是在3.1里面不能够使用,怎么办,只好用NSTimer了,最后还是给实现了。代码也比较简单,开始运行viewDidLoad的时候加载 [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];//使用timer定时,每秒触发一次
,然后就是写selector了。

- (void)timerFireMethod:(NSTimer*)theTimer
{
//NSDateFormatter *dateformatter = [[[NSDateFormatter alloc]init] autorelease];//定义NSDateFormatter用来显示格式
//[dateformatter setDateFormat:@"yyyy MM dd hh mm ss"];//设定格式
NSCalendar *cal = [NSCalendar currentCalendar];//定义一个NSCalendar对象
NSDateComponents *shibo = [[NSDateComponents alloc] init];//初始化目标时间(好像是世博会的日期)
[shibo setYear:2010];
[shibo setMonth:5];
[shibo setDay:1];
[shibo setHour:8];
[shibo setMinute:0];
[shibo setSecond:0];

NSDate *todate = [cal dateFromComponents:shibo];//把目标时间装载入date
[shibo release];
// NSString *ssss = [dateformatter stringFromDate:dd];
// NSLog([NSString stringWithFormat:@"shibo shi:%@",ssss]);

NSDate *today = [NSDate date];//得到当前时间
// NSString *sss = [dateformatter stringFromDate:today];
// NSLog([NSString stringWithFormat:@"xianzai shi:%@",sss]);
//用来得到具体的时差
unsigned int unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *d = [cal components:unitFlags fromDate:today toDate:todate options:0];
lab.text = [NSString stringWithFormat:@"%d年%d月%d日%d时%d分%d秒",[d year],[d month], [d day], [d hour], [d minute], [d second]];
}
这样就实现了倒计时的功能。

原文:http://blog.sina.com.cn/s/blog_60b45f230100f3v2.html
分享到:
评论

相关推荐

    IOS开发代码分享之用nstimer实现倒计时功能

    在iOS应用开发中,倒计时功能是一个常见的需求,...通过这个例子,我们可以了解到如何使用`NSTimer`、`NSCalendar`和`NSDateComponents`来实现倒计时功能。在实际应用中,可能还需要根据具体需求进行相应的调整和优化。

    NSTimer实现的小计时器

    这在实现倒计时、动画效果或者周期性任务时非常有用。`NSTimer`不是线程安全的,通常在主线程中创建和触发。 二、创建NSTimer的类方法 1. `+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval ...

    简单的时间选择器Nstimer

    `NSTimer`是苹果iOS和macOS开发中的一个核心组件,用于执行周期性的任务或者在特定时间点触发某个动作。...实际项目中,你可以根据需求调整和扩展这个工具,例如增加时间设置、倒计时功能、或与其他系统服务集成。

    ios-一句话实现倒计时.zip

    我们将使用NSTimer来定期更新按钮上的显示文本,以实现倒计时效果。 3. **KVO(Key-Value Observing)**: 为了在倒计时过程中实时更新按钮的标题,我们可以利用KVO监听标题属性的变化。当倒计时时间改变时,自动...

    ios 实现倒计时的两种方式

    ### 使用NSTimer实现倒计时 NSTimer是Foundation框架中的一个类,它可以用来安排一个定时器,以指定的时间间隔定期触发事件。要使用NSTimer来实现倒计时,你需要调用其scheduledTimerWithTimeInterval:target:...

    基于label的倒计时框架

    由于UILabel本身具备良好的可定制性,可以方便地设置字体、颜色、对齐方式等样式,因此用它来实现倒计时界面既直观又美观。 框架的使用方法通常如下: 1. 引入库:首先,你需要将这个封装好的倒计时框架导入到你的...

    iOS 倒计时按钮

    1. **自定义按钮类**:为了实现倒计时功能,我们需要创建一个继承自`UIButton`的自定义类,如`CountdownButton`,在此类中添加倒计时逻辑。 2. **属性设置**:在自定义类中,添加表示倒计时时间的属性(如`...

    到计时器---可以手动输入一个时间,开始倒计时

    在iOS开发中,倒计时(Countdown Timer)是一种常见的功能,它被广泛应用于各种应用场景,比如考试倒计时、烹饪计时、闹钟等。本项目“到计时器”是一个用户可以自定义时间的倒计时工具,其核心在于能够接收用户输入...

    iOS倒计时-自己写的倒计时

    在`LYDaoJiShi.m`的实现中,开发者可能会使用`CADisplayLink`或`NSTimer`来实现每隔一定时间(如1秒)调用`updateDigitLabels`方法,动态更新倒计时。同时,为了防止倒计时过程中用户界面旋转导致布局变化,还需要...

    iOS 倒计时功能

    本文将详细阐述如何在iOS平台上实现倒计时功能,以及相关的编程技巧。 首先,我们需要了解的是iOS应用中的时间处理。在iOS中,我们通常使用Foundation框架中的`NSDate`, `NSTimeInterval`, `NSCalendar`, `...

    欢迎界面倒计时

    6. **错误处理**:在实现倒计时功能时,应考虑到可能出现的异常情况,比如网络延迟、系统时间调整等,确保这些情况下的倒计时行为符合预期。 7. **性能优化**:如果倒计时涉及大量的计算或者复杂的逻辑,需要关注...

    ios-验证码倒计时.zip

    要用GCD实现倒计时,通常需要创建一个dispatch_source_t类型的数据源,设置其事件类型为定时,并指定时间间隔。然后在事件触发时更新倒计时显示,直到达到预设的零值。在这个过程中,可以利用`dispatch_after`函数...

    tableViewCell上的倒计时

    本篇将详细讲解如何使用`NSTimer`来实现这样的倒计时效果。 首先,我们需要理解`NSTimer`的基本用法。`NSTimer`是Apple提供的一个定时器类,它可以按照指定的时间间隔重复执行某项任务。创建一个`NSTimer`通常包括...

    iOS整合两种动画倒计时的demo

    接下来,我们来看一下如何实现倒计时。在iOS中,我们可以使用NSTimer类来定期执行任务,比如每秒更新一次倒计时的数值。创建一个NSTimer实例,设置好时间间隔(如1秒),并关联一个目标方法(这个方法会处理倒计时...

    ios-倒计时按钮,回调,方法.zip

    3. **计时器**:使用NSTimer(Objective-C)或Timer(Swift)来实现倒计时逻辑。计时器会在指定的时间间隔内触发一个回调,每次回调时,你都需要更新UILabel上的时间显示,直到达到零。 4. **回调方法**:这里有两...

    ios计时器NSTimer的使用

    本教程将深入探讨`NSTimer`的使用,包括如何创建、启动、暂停以及取消定时器,并通过一个倒计时10秒的示例来实际操作。 首先,`NSTimer`是`NSRunLoop`的一部分,它会在运行循环的适当模式下触发。创建`NSTimer`通常...

    可以倒计时的alertview

    实现倒计时`UIAlertController`的方法如下: 1. 创建一个`UIAlertController`实例,指定其样式为`UIAlertControllerStyleAlert`。 2. 添加一个标题和消息,以及所需的按钮。 3. 创建一个`UIView`子类,如`...

    ios-tableView定义倒计时显示.zip

    3. **倒计时实现**: 倒计时通常通过NSTimer实现。在本例中,我们可以创建一个NSTimer对象,设置其周期(比如1秒),并关联一个更新倒计时显示的回调方法。在回调中,我们减少计时器的剩余时间,并更新cell的UILabel...

    ios-两种方式实现倒计时.zip

    以下是一个使用GCD实现倒计时的例子: ```swift let queue = DispatchQueue(label: "countdownQueue", attributes: .global) var secondsRemaining = 60 func startCountdown() { queue.asyncAfter(deadline...

    ios-时分秒倒计时.zip

    2. **使用Swift实现倒计时** - **初始化时间**: 首先,你需要设定开始时间和结束时间,这两个时间通常用`NSDate`对象表示。你可以通过`NSDateFormatter`将字符串转换为`NSDate`。 - **计算时间差**: 使用`...

Global site tag (gtag.js) - Google Analytics