iPhone: Nstimer Countdown (minutos de pantalla: segundos)
Pregunta
Tengo mi código de temporizador configurado, y todo es kosher, pero quiero que mi etiqueta muestre "minutos: segundos" en lugar de solo segundos.
-(void)countDown{
time -= 1;
theTimer.text = [NSString stringWithFormat:@"%i", time];
if(time == 0)
{
[countDownTimer invalidate];
}
}
Ya he establecido "tiempo" a 600 o 10 minutos. Sin embargo, quiero que la pantalla muestre 10:59, 10:58, etc. hasta que llegue a cero.
¿Cómo hago esto?
¡Gracias!
Solución
int seconds = time % 60;
int minutes = (time - seconds) / 60;
theTimer.text = [NSString stringWithFormat:@"%d:%.2d", minutes, seconds];
Otros consejos
Para cuando, me hicieron una pequeña actualización de la primera respuesta, eliminó los conflictos que asociados con NSInteger
y int
:
NSInteger secondsLeft = 987;
int second = (int)secondsLeft % 60;
int minutes = ((int)secondsLeft - second) / 60;
theTimer.text = [NSString stringWithFormat:@"%02d:%02d", minutes, second]];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow