iPhone: Count-coude nstimer (Minutes d'affichage: secondes)
Question
J'ai mis mon code de minuterie configuré, et tout est casher, mais je veux que mon étiquette affiche "Minutes: secondes" au lieu de quelques secondes.
-(void)countDown{
time -= 1;
theTimer.text = [NSString stringWithFormat:@"%i", time];
if(time == 0)
{
[countDownTimer invalidate];
}
}
J'ai déjà défini "le temps" à 600 ou 10 minutes. Cependant, je veux que l'écran affiche 10:59, 10:58, etc. jusqu'à ce qu'il atteigne zéro.
Comment puis-je faire cela?
Merci!
La solution
int seconds = time % 60;
int minutes = (time - seconds) / 60;
theTimer.text = [NSString stringWithFormat:@"%d:%.2d", minutes, seconds];
Autres conseils
Au moment où j'ai été fait une petite mise à niveau de la première réponse, elle a supprimé les conflits associés à NSInteger
et int
:
NSInteger secondsLeft = 987;
int second = (int)secondsLeft % 60;
int minutes = ((int)secondsLeft - second) / 60;
theTimer.text = [NSString stringWithFormat:@"%02d:%02d", minutes, second]];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow