- 浏览: 41441 次
文章分类
最新评论
-
peng13123:
...
Hibernate4+Spring3+SpringMVC -
peng13123:
好吧,呵呵zxxwlj 写道 翻/墙?违法。。。
我想问为啥我goagent的文章被删除了 -
zxxwlj:
翻/墙?违法。。。
我想问为啥我goagent的文章被删除了
//
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];
//
- (void)timerFireMethod:(NSTimer *)theTimer
{
BOOL timeStart = YES;
NSCalendar *cal = [NSCalendar currentCalendar];//定义一个NSCalendar对象
NSDateComponents *endTime = [[NSDateComponents alloc] init]; //初始化目标时间...
NSDate *today = [NSDate date]; //得到当前时间
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *dateString = [dateFormatter dateFromString:todate];
NSString *overdate = [dateFormatter stringFromDate:dateString];
// NSLog(@"overdate=%@",overdate);
static int year;
static int month;
static int day;
static int hour;
static int minute;
static int second;
if(timeStart) {//从NSDate中取出年月日,时分秒,但是只能取一次
year = [[overdate substringWithRange:NSMakeRange(0, 4)] intValue];
month = [[overdate substringWithRange:NSMakeRange(5, 2)] intValue];
day = [[overdate substringWithRange:NSMakeRange(8, 2)] intValue];
hour = [[overdate substringWithRange:NSMakeRange(11, 2)] intValue];
minute = [[overdate substringWithRange:NSMakeRange(14, 2)] intValue];
second = [[overdate substringWithRange:NSMakeRange(17, 2)] intValue];
timeStart= NO;
}
[endTime setYear:year];
[endTime setMonth:month];
[endTime setDay:day];
[endTime setHour:hour];
[endTime setMinute:minute];
[endTime setSecond:second];
NSDate *overTime = [cal dateFromComponents:endTime]; //把目标时间装载入date
//用来得到具体的时差,是为了统一成北京时间
unsigned int unitFlags = NSYearCalendarUnit| NSMonthCalendarUnit| NSDayCalendarUnit| NSHourCalendarUnit| NSMinuteCalendarUnit| NSSecondCalendarUnit;
NSDateComponents *d = [cal components:unitFlags fromDate:today toDate:overTime options:0];
NSString *t = [NSString stringWithFormat:@"%d", [d day]];
NSString *h = [NSString stringWithFormat:@"%d", [d hour]];
NSString *fen = [NSString stringWithFormat:@"%d", [d minute]];
if([d minute] < 10) {
fen = [NSString stringWithFormat:@"0%d",[d minute]];
}
NSString *miao = [NSString stringWithFormat:@"%d", [d second]];
if([d second] < 10) {
miao = [NSString stringWithFormat:@"0%d",[d second]];
}
// NSLog(@"===%@天 %@:%@:%@",t,h,fen,miao);
[_longtime setText:[NSString stringWithFormat:@"%@天 %@:%@:%@",t,h,fen,miao]];
if([d second] > 0) {
//计时尚未结束,do_something
// [_longtime setText:[NSString stringWithFormat:@"%@:%@:%@",d,fen,miao]];
} else if([d second] == 0) {
//计时结束 do_something
} else{
[theTimer invalidate];
}
}
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];
//
- (void)timerFireMethod:(NSTimer *)theTimer
{
BOOL timeStart = YES;
NSCalendar *cal = [NSCalendar currentCalendar];//定义一个NSCalendar对象
NSDateComponents *endTime = [[NSDateComponents alloc] init]; //初始化目标时间...
NSDate *today = [NSDate date]; //得到当前时间
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *dateString = [dateFormatter dateFromString:todate];
NSString *overdate = [dateFormatter stringFromDate:dateString];
// NSLog(@"overdate=%@",overdate);
static int year;
static int month;
static int day;
static int hour;
static int minute;
static int second;
if(timeStart) {//从NSDate中取出年月日,时分秒,但是只能取一次
year = [[overdate substringWithRange:NSMakeRange(0, 4)] intValue];
month = [[overdate substringWithRange:NSMakeRange(5, 2)] intValue];
day = [[overdate substringWithRange:NSMakeRange(8, 2)] intValue];
hour = [[overdate substringWithRange:NSMakeRange(11, 2)] intValue];
minute = [[overdate substringWithRange:NSMakeRange(14, 2)] intValue];
second = [[overdate substringWithRange:NSMakeRange(17, 2)] intValue];
timeStart= NO;
}
[endTime setYear:year];
[endTime setMonth:month];
[endTime setDay:day];
[endTime setHour:hour];
[endTime setMinute:minute];
[endTime setSecond:second];
NSDate *overTime = [cal dateFromComponents:endTime]; //把目标时间装载入date
//用来得到具体的时差,是为了统一成北京时间
unsigned int unitFlags = NSYearCalendarUnit| NSMonthCalendarUnit| NSDayCalendarUnit| NSHourCalendarUnit| NSMinuteCalendarUnit| NSSecondCalendarUnit;
NSDateComponents *d = [cal components:unitFlags fromDate:today toDate:overTime options:0];
NSString *t = [NSString stringWithFormat:@"%d", [d day]];
NSString *h = [NSString stringWithFormat:@"%d", [d hour]];
NSString *fen = [NSString stringWithFormat:@"%d", [d minute]];
if([d minute] < 10) {
fen = [NSString stringWithFormat:@"0%d",[d minute]];
}
NSString *miao = [NSString stringWithFormat:@"%d", [d second]];
if([d second] < 10) {
miao = [NSString stringWithFormat:@"0%d",[d second]];
}
// NSLog(@"===%@天 %@:%@:%@",t,h,fen,miao);
[_longtime setText:[NSString stringWithFormat:@"%@天 %@:%@:%@",t,h,fen,miao]];
if([d second] > 0) {
//计时尚未结束,do_something
// [_longtime setText:[NSString stringWithFormat:@"%@:%@:%@",d,fen,miao]];
} else if([d second] == 0) {
//计时结束 do_something
} else{
[theTimer invalidate];
}
}
发表评论
-
Xcode7 ios9不能用http请求
2015-09-17 18:49 691Xcode7 使用NSURLSession发送HTTP请求的问 ... -
iOS UITableViewCell 中 调整imageView 的图片大小
2015-08-26 16:10 1389//设置图片 [cell.imageView setImage ... -
[转]iOS 万能跳转界面方法 (runtime实用篇一)
2015-08-24 10:27 586在开发项目中,会有这样变态的需求: 推送:根据服务端推送过来 ... -
周堋斐:梦想的开发者
2015-04-13 17:56 012年的深圳软件园也是各种。呵呵哒 -
IOS判断app在appstore是否有可用的更新
2015-03-13 10:25 543iTunes可以提供app的版本信息,主要通过appid获取, ... -
uitableview分割线 左右边距相同
2015-01-21 15:59 2554_myTableView1.separatorInset= ... -
在uiimageview中设置网络图片等比例大小
2014-12-30 15:38 726NSData *data=[NSData dataWith ... -
[转]iOS UISCrollView循环滚动 实现
2014-12-30 13:42 690google了半天发现很多人竟然搞不定,甚至还有人用数组左移右 ... -
push的时候,感觉上一个页面的视图还有残留,然后停顿了一下,才消失的解决
2014-12-10 20:04 1842这个,以前遇到过,后来不知怎么弄好了,现在就是你如果改下pus ... -
view整体上移
2014-11-26 16:06 909如果你准备将你的老的 iOS 6 app 迁移到 iOS 7/ ... -
广告轮播
2014-11-17 20:05 480h <UIAlertViewDelegate,UIScr ... -
设置全局navigation barbuttonitem
2014-11-17 19:58 748#pragma mark 设置全局navigation bar ... -
nsdate 前一天,后一天
2014-11-17 19:57 1171h { NSDate *choseDate;//显示日 ... -
sdwebimage ios8 报错
2014-11-02 00:22 694报错:Use of undeclared identifier ... -
之前有人整理过Git上好用的iOS库,我搬运一下
2014-10-31 14:56 338之前有人整理过Git上好用的iOS库,我搬运一下: http: ... -
ios中添加和移除view
2014-08-14 11:36 829la = [[UILabel alloc]init]; ... -
UITextField只能输入数字且小数点后保留2位
2014-07-18 17:17 577#pragma mark UITextFieldDeleg ... -
转】视图切换总结
2014-06-04 12:06 5511、利用ModalViewController切换View ... -
ios 判断网络连接以及获取路由信息
2014-05-29 11:53 1684首先 引入 Reachability.h 和Reachabil ... -
UINavigationController如何连续返回两级/回到第一级
2014-01-18 09:44 832//连续返回两级 int index=[[self.navig ...
相关推荐
`NSTimer`是苹果iOS和macOS开发中的一个核心组件,用于执行周期性的任务或者在特定时间点触发某个动作。...实际项目中,你可以根据需求调整和扩展这个工具,例如增加时间设置、倒计时功能、或与其他系统服务集成。
这在实现倒计时、动画效果或者周期性任务时非常有用。`NSTimer`不是线程安全的,通常在主线程中创建和触发。 二、创建NSTimer的类方法 1. `+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval ...
以下是一个基于`NSTimer`实现倒计时功能的代码示例,以及相关的知识点解析: 首先,我们创建一个`NSTimer`实例,设置其时间间隔为1秒,目标为当前类(self),选择器方法为`timerFireMethod:`,并设置为重复执行: ...
1. **初始化定时器**:首先,我们需要创建一个`NSTimer`实例,指定间隔时间(即倒计时秒数)和一个selector,这个selector会在每次倒计时触发时执行。例如: ```objective-c NSTimeInterval interval = 60; // 60...
3. **倒计时方法**:创建一个定时器(`NSTimer`)来更新剩余时间,并根据时间变化更新按钮的标题或者背景色。 4. **暂停与重置**:提供方法来暂停或重置倒计时,以便在用户操作或其他事件发生时调整按钮状态。 5. ...
在iOS开发中,倒计时(Countdown Timer)是一种常见的功能,它被广泛应用于各种应用场景,比如考试倒计时、烹饪计时、闹钟等。本项目“到计时器”是一个用户可以自定义时间的倒计时工具,其核心在于能够接收用户输入...
在`LYDaoJiShi.m`的实现中,开发者可能会使用`CADisplayLink`或`NSTimer`来实现每隔一定时间(如1秒)调用`updateDigitLabels`方法,动态更新倒计时。同时,为了防止倒计时过程中用户界面旋转导致布局变化,还需要...
本篇将详细讲解如何使用`NSTimer`来实现这样的倒计时效果。 首先,我们需要理解`NSTimer`的基本用法。`NSTimer`是Apple提供的一个定时器类,它可以按照指定的时间间隔重复执行某项任务。创建一个`NSTimer`通常包括...
在iOS开发中,倒计时功能是一个非常常见且实用的特性,它被广泛应用于各种场景,如电商的限时抢购、直播预告等。本文将详细阐述如何在iOS平台上实现倒计时功能,以及相关的编程技巧。 首先,我们需要了解的是iOS...
该框架的核心思想是利用UILabel来显示倒计时的文字内容,通过定时器(NSTimer)来控制时间的流逝,并更新Label上的文字。由于UILabel本身具备良好的可定制性,可以方便地设置字体、颜色、对齐方式等样式,因此用它来...
这个“ios-验证码倒计时.zip”文件中的代码可能实现了一个基于GCD(Grand Central Dispatch)的倒计时器,与传统的NSTimer相比,GCD在处理定时器任务上具有更高的精确性和线程安全性。 1. **GCD基础** GCD是苹果...
在倒计时场景中,GCD可以帮助避免NSTimer因主线程阻塞而出现的问题,确保倒计时的准确无误。 3. **Block/Closure**:资源中的"一句代码"很可能是指使用Block或Closure来设置倒计时的开始和结束回调。Block是iOS中的...
在IT行业中,欢迎界面倒计时是一种常见的用户体验设计,它常用于应用程序或网站的启动页面,为用户提供一种视觉上的引导,增加用户对产品的期待感。倒计时功能可以帮助管理用户的等待时间感知,尤其是在加载复杂内容...
3. **倒计时实现**: 倒计时通常通过NSTimer实现。在本例中,我们可以创建一个NSTimer对象,设置其周期(比如1秒),并关联一个更新倒计时显示的回调方法。在回调中,我们减少计时器的剩余时间,并更新cell的UILabel...
这个子类需要包含一个UILabel来显示倒计时的数字,以及一个内部的NSTimer对象用于更新倒计时。 1. **UILabel**:倒计时按钮的核心是显示倒计时数值的UILabel。你可以通过设置其text属性来显示当前剩余的时间,例如...
在iOS中,我们可以使用NSTimer类来定期执行任务,比如每秒更新一次倒计时的数值。创建一个NSTimer实例,设置好时间间隔(如1秒),并关联一个目标方法(这个方法会处理倒计时逻辑,如减少秒数)。当倒计时结束时,...
5. 使用`CADisplayLink`或者`NSTimer`来更新倒计时,根据需要更新`CountdownView`的内容。 6. 当倒计时结束,调用`dismiss(animated:completion:)`方法关闭alert。 在`juxuechen-AlertPickerView-e589779`这个项目...
其次,倒计时逻辑通常涉及到`NSTimer`或`DispatchSourceTimer`。在这个demo中,开发者可能使用了`NSTimer`来定期更新圆环的进度。`NSTimer`是一个基于run loop的定时器,可以在指定的间隔内重复执行某个任务。例如,...
首先,为了实现倒计时功能,EBCountDownButton控件内部会使用NSTimer对象,该对象按照指定的时间间隔触发事件。开发者可以通过设置`countDownTime`属性来设定倒计时的总秒数,然后调用`startCountDown`方法启动倒...
这对于依赖持续运行的JavaScript代码,如倒计时功能,可能会造成困扰。标题"解决ios下后台运行与锁屏时倒计时停止问题"正是针对这一常见挑战,而描述中的内容则提供了解决方案的方向。 当iOS应用被切换到后台,...