2010-11-10 3 views

Répondre

0

vous aurez besoin d'un UILabel pour afficher l'heure, un UIButton pour démarrer et arrêter le chronomètre. Disposez-les dans Interface-Builder et connectez-les à votre viewcontroller. Vous aurez besoin de NSDates pour enregistrer le startTime et le stopTime aussi. Si l'IBAction pour startButton est activé, vous sauvegardez l'heure actuelle sur votre startTime ivar et vous lancez un NSTimer qui se déclenche toutes les 0,77 secondes ou quelque chose comme ça et met à jour le UILabel. Ensuite, vous modifiez le texte UIButtons pour afficher stop, et si vous appuyez sur ce bouton, vous invalidez le NSTimer et enregistrez le stopTime.

La méthode timer doit diviser le NSTimeInterval que vous obtiendrez avec [[NSDate date] timeIntervalSinceDate: startDate] en secondes, minutes et heures. Ce qui est une tâche assez simple. Et bien sûr, si votre minuteur est arrêté, remplacez [Date NSDate] par stopTime.
Certains code:

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); 

Voilà.

0

est ici une approche si vous devez aussi calculer jours:

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"; 
} 
Questions connexes