Je travaille actuellement sur un projet où je demande et analyse plusieurs sites html dans un contrôleur. Pour donner un certain retour à l'utilisateur, j'ai créé une deuxième vue, qui s'affiche pendant le traitement des données. Il affiche une étiquette d'état et une barre de progression. Dans mon contrôleur, j'ai plusieurs points où je mets à jour le texte de mes étiquettes. Malheureusement, cela ne fonctionne que parfois. Je suppose que c'est parce que l'étiquette n'est redessinée qu'une fois de temps en temps et j'essaie de le faire probablement plus souvent qu'une fois par seconde.Comment mettre à jour un UILabel fréquemment?
Cela ne fonctionne pas pour forcer un redessin avec [label setNeedsDisplay];
J'ai aussi fait un fil qui met à jour le texte des étiquettes avec le texte d'une variable globale et appelle également setNeedsDisplay sur l'étiquette à chaque seconde. Mais les résultats sont les mêmes. Je ne vois que certains changements, mais pas tous.
Tout est configuré correctement et l'étiquette n'est jamais nulle. Quand je connecte mon updateMethod, tout semble bien aller. Il ne s'affiche tout simplement pas!
Vive
Voici le code de mes fils
- (void)startUpdateStatusThread{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[self performSelectorOnMainThread:@selector(updateFrequently) withObject:nil waitUntilDone:NO];
[pool release];
}
- (void)updateFrequently{
NSLog(@"updateFrequently: %@", currentStatus);
test++;
[self.statusLabel setText:[NSString stringWithFormat:@"%@ - %i", currentStatus, test]];
[self.statusLabel setNeedsDisplay];
[NSTimer scheduledTimerWithTimeInterval:0.0001 target:self selector:@selector(updateFrequently) userInfo:nil repeats:NO];
}
S'il vous plaît allez dans votre profil http://stackoverflow.com/users/345144/jagse et accepter les réponses aux questions précédentes. Cela donne un crédit où le crédit est dû pour les personnes qui vous aident. – iwasrobbed
Savez-vous combien vous chargez le cpu du téléphone? Si vous l'optimisez, il n'aura peut-être jamais le temps de redessiner. Aussi, vous pouvez vouloir garder cela à l'esprit: http://blogs.msdn.com/b/oldnewthing/archive/2010/05/25/10014185.aspx#10014738 – Douglas