J'ai un UIProgressView que j'utilise pour représenter visuellement une minuterie d'une minute. Sa largeur est de 280 pixels. J'utilise NSTimer pour diminuer progressivement la valeur de 'progress', en commençant à progress = 1.0. 'Progress' est mis à jour une fois tous les dixièmes de seconde. Pour tout sauf les deux dernières secondes, il fait exactement ce que je veux. Une fois que la valeur de 'progression' descend en dessous de 0,03, le mouvement de l'UIProgressView s'arrête (montrant environ 0,2 cm de barre) jusqu'à ce que 'progression' atteigne 0,0, point auquel la barre disparaît simplement.UIProgressView ne change pas quand 0.0 <progression <0.03
Est-ce que quelqu'un sait pourquoi UIProgressView se comporte de cette façon? Est-ce intentionnellement ou est-ce que je fais quelque chose de mal?
modifier:
mjdth,
Je ne pense pas que cela a à voir avec l'arrondissement, puisque dans la méthode qui NSTimer appelle, j'utilise NSLog pour montrer la valeur de « progrès », et il est imprimé avec six chiffres significatifs, par exemple
2009-12-31 21: 13: 22,462 XXXXXXX 0,101669
2009-12-31 21: 13: 22,562 XXXXXXX 0,100003
D'ailleurs, si tel était le cas, tout le mouvement serait saccadé, pas seulement les deux dernières secondes. Voici le code qui appelle NSTimer:
- (void) updateProgressBar {
timerProgressBar.progress = [playEndTime timeIntervalSinceNow]/60.0;
NSLog(@"%f", timerProgressBar.progress);
}
Salut Justin, j'ai le même problème avec la barre de temporisation. Avez-vous trouvé du travail? –