2008-10-17 12 views
8

J'essaie d'afficher une icône de chargement pendant que mon application iPhone télécharge une ressource réseau, mais je ne parviens pas à la faire apparaître correctement.Afficher une icône de chargement pendant le téléchargement d'une ressource réseau

J'ai cherché autour et trouvé quelques détails sur la classe UIActivityView, mais le code source d'exemple disponible ne fonctionnait pas, et la documentation est un peu laconique.

Quelqu'un pourrait-il donner un exemple simple sur la façon d'utiliser cette classe?

Répondre

11

En supposant que vous avez un contrôleur de vue mis en place, et je voudrais ajouter un UIActivityIndicator à lui, voici comment vous pouvez le faire:

(supposons que vous avez une variable membre appelée indicator, que vous peut utiliser plus tard pour nettoyer)

pour votre interface (.h fichier):

UIActivityIndicator *indicator; 

pour votre implémentation (fichier .m):

Démarrer l'animation

CGRect b = self.view.bounds; 
indicator = [[UIActivityIndicator alloc] initWithActivityIndicatorStyle: 
              UIActivityIndicatorStyleWhite]; 
//center the indicator in the view 
indicator.frame = CGRectMake((b.size.width - 20)/2, (b.size.height - 20)/2, 20, 20); 
[self.view addSubview: indicator]; 
[indicator release]; 
[indicator startAnimating]; 

Arrêter la réponse Animation

[indicator removeFromSuperview]; 
indicator = nil; 
0

Ben semble assez similaire à ce que je fais - votre deviner le fil est probablement exact. Utilisez-vous NSURLConnection pour gérer votre téléchargement? Si oui, utilisez-vous la version synchrone ou asynchrone? Si c'est la version synchrone et que vous lancez simplement l'animation autour de l'appel synchrone, l'interface utilisateur ne se met pas à jour tant que vous n'avez pas arrêté l'animation.

Questions connexes