Ich möchte, dass ein UILabel den aktuellen Fortschritt eines Timers anzeigt. Im Moment rufe ich auf, um die verbleibende Zeit zu ermitteln [timer1 timeLeft];
was einen zurückgibt int
. Auf diese Weise kann ich das Label EINMAL aktualisieren. Wie kann ich das Label aktualisieren (mainLabel
) ständig, damit es immer den aktuellen Timer-Fortschritt anzeigt und dabei etwas ressourcenschonend ist?
Danke für deine Hilfe!
Antworten:
1 für die Antwort № 1Verwenden Sie den folgenden Code für den Countdown-Timer.
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]];
}