Как сделать UILabel, который постоянно обновляется в Objective-C - PullRequest
0 голосов
/ 14 июля 2011

Я хочу, чтобы UILabel отображал текущий прогресс таймера.Прямо сейчас, чтобы узнать текущее время, я звоню [timer1 timeLeft];, который возвращает int.Таким образом, я могу обновить ярлык ОДИН РАЗ в одно мгновение.Каким образом я могу постоянно обновлять метку (mainLabel), чтобы она всегда отображала текущий прогресс таймера, при этом будучи несколько ресурсоэффективной?

Спасибо за вашу помощь!

1 Ответ

1 голос
/ 14 июля 2011

Используйте следующий код для таймера обратного отсчета.

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]];
}
...