2011-07-14 8 views
0

私は、UILabelにタイマーの現在の進行状況を表示させたいと考えています。今現在の時間を得るために、私はを返す[timer1 timeLeft];と呼んでいます。このようにして、ある瞬間にラベルONCEを更新することができます。どのようにしてラベル(mainLabel)を常に更新して、現在のタイマーの進捗状況を表示していますが、やや効率的です。Objective-Cで常に更新されるUILabelを作成するには

ありがとうございました!

答えて

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]]; 
} 
+0

ありがとうございました。私はあなたの提案したようなNSTimerのアイデアを使用して終了し、それは素晴らしい仕事をした!それの残りの部分は私の状況に合うように変更されました。 – SeniorShizzle

+0

@SeniorShizzleうまくいけばうれしいです。 –

関連する問題