我试图做一个计数器,它显示了我们离开欧洲之前的天数。这只是大约70天(截至今天),所以我不认为我应该担心天文数字或任何事情,但我真的很难过 - 我附上了一些朋友给我的代码,这些代码也不行。当我说我已经尝试过所有我能想到的事情时,请相信我 - 在任何人在我这些论坛上看到完成的事情之前,任何人都会咬我的头,是的,我在Apple文档中看到了非常广泛的内容,但我不是100%确定从哪里开始 - 我已经尝试过NSTimer,NSDate及其所有的子类和方法,但没有什么能够立即跳出来。倒计时 - iPhone倒数计时器
在我认为我应该做的事情方面,我想我需要以某种方式为今天/现在/当天的“日期”分配一个整数值,这将使用[NSDate date]
动态更改,然后相同我们离开的日期。当方法被再次调用时,倒计时只是更新(如果需要,我可以使用NSTimer来执行此操作),并且倒计时中显示的值是这两个值之间的差异。
我不是特别想要一种闪烁的东西,每秒更新一次,直到我们离开 - 我个人认为这很俗气,但如果有人知道如何,那么我会很感激它为未来的参考。
我也做了大量的谷歌搜索,我可能只是使用错误的搜索条件,但我无法找到任何东西。
任何帮助,非常感谢。
非常感谢。
Michaeljvdw
- (void)countDownMethod {
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:startDay];
[comps setMonth:startMonth];
[comps setYear:startYear];
[comps setHour:startHour];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:comps];
NSLog(@"%@",date);
[gregorian release];
[comps release];
NSTimeInterval diff = [date timeIntervalSinceNow];
int diffInt = diff;
NSString *days = [NSString stringWithFormat:@"%d",diffInt/86400];
day0.text = @"0";
day1.text = @"0";
day2.text = @"0";
NSLog(@"Days Length: %d",days.length);
if(days.length >= 1){
day2.text = [days substringFromIndex:days.length - 1];
if(days.length >= 2){
day1.text = [days substringWithRange:NSMakeRange(days.length - 2, 1)];
if(days.length >= 3){
day0.text = [days substringWithRange:NSMakeRange(days.length - 3, 1)];
}
}
}
NSString *hours = [NSString stringWithFormat:@"%d",(diffInt%86400)/3600];
hour0.text = @"0";
hour1.text = @"0";
NSLog(@"Hours Length: %d",hours.length);
if(hours.length >= 1){
hour1.text = [hours substringFromIndex:hours.length - 1];
if(hours.length >= 2){
hour0.text = [hours substringWithRange:NSMakeRange(hours.length - 2, 1)];
}
}
NSString *minutes = [NSString stringWithFormat:@"%d",((diffInt%86400)%3600)/60];
minute0.text = @"0";
minute1.text = @"0";
NSLog(@"Minutes Length: %d",minutes.length);
if(minutes.length >= 1){
minute1.text = [minutes substringFromIndex:minutes.length - 1];
if(minutes.length >= 2){
minute0.text = [minutes substringWithRange:NSMakeRange(minutes.length - 2, 1)];
}
}
}
非常感谢你,这完美的作品。非常感激! – Michaeljvdw 2010-07-06 04:41:27