2010-11-10 66 views

回答

0

您將需要一個的UILabel來顯示時間,一個UIButton的啓動和停止計時器。將它們排列在Interface-Builder中,並將它們連接到您的視圖控制器。 您需要NSDates來保存startTime和stopTime。

如果startButton的IBAction被激活,您將當前時間保存到startTime ivar中,然後啓動一個NSTimer,每0.77秒觸發一次或類似的事情並更新UILabel。然後,您將UIButtons文本更改爲顯示停止,如果按下該按鈕,則使NSTimer失效並保存停止時間。

計時器方法必須將NSTimeInterval與[[NSDate date] timeIntervalSinceDate:startDate]分隔成秒,分和小時。這是一個非常基本的任務。當然,如果你的計時器停止了,你可以用stopTime替換[NSDate date]。
一些代碼:

NSInteger hours, minutes, seconds; 
NSInteger ti = (int)interval; 
seconds = ti % 60; 
ti = ti/60; 
minutes = ti % 60; 
ti = ti/60; 
hours = ti; 
NSString *timeString = [NSString stringWithFormat:@"%02d:%02d:%02d", hours, minutes, seconds]; 
NSLog(@"Time: %@", timeString); 

就是這樣。

0

這裏有一個方法,如果您還需要計算天:

int remaining = [[NSDate date] timeIntervalSinceDate:dateTimerStarted]; 

int d = (remaining/86400); 
int h = (remaining/3600) % 24; 
int m = (remaining/60) % 60; 
int s = remaining % 60; 

NSString *timeString; 
if (remaining > 0) 
{ 
    timeString = [NSString stringWithFormat:@"%02d %02dh:%02dm:%02ds",d,h,m,s]; 
} 
else 
{ 
    timeString = @"Expired"; 
}