我正在寻找UILabel显示计时器的当前进度。现在为了得到当前时间,我打电话给[timer1 timeLeft];
,返回int
。通过这种方式,我可以在一瞬间更新标签ONCE。我可以以什么方式不断更新标签(mainLabel
),以便始终显示当前的计时器进度,同时节省资源?
感谢您的帮助!
答案 0 :(得分:1)
对倒数计时器使用以下代码。
dblElapsedSeconds=0.0; //Declare this in header
tmrElapsedTime = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(updateElapsedTime) userInfo:nil repeats:YES]; //Declare timer variable in header
-(void)updateElapsedTime
{
dblElapsedSeconds += 1;
//double seconds = [[NSDate date] timeIntervalSinceDate:self.startTime];
int hours,minutes, lseconds;
hours = dblElapsedSeconds / 3600;
minutes = (dblElapsedSeconds - (hours*3600)) / 60;
lseconds = fmod(dblElapsedSeconds, 60);
[lblTimeElapsed setText:[NSString stringWithFormat:@"%02d:%02d",minutes, lseconds]];
}