2008-10-17 2 views
8

Ich versuche, ein Ladesymbol anzuzeigen, während meine iPhone-App eine Netzwerkressource herunterlädt, aber ich kann nicht herausfinden, wie sie korrekt angezeigt wird.Zeigt ein Ladesymbol an, während eine Netzwerkressource heruntergeladen wird

Ich suchte und fand einige Details auf der UIActivityView Klasse, aber die verfügbaren Beispielquellcode funktionierte nicht, und die Dokumentation ist eine Art von knapp.

Könnte jemand ein einfaches Beispiel für die Verwendung dieser Klasse geben?

Antwort

11

Angenommen, Sie eine View-Controller eingerichtet haben, und möchte eine UIActivityIndicator, um es hinzuzufügen, ist hier, wie Sie es tun könnte:

(vorausgesetzt, dass Sie haben eine Membervariable bekam indicator genannt, die Sie kann später verwenden

Für Ihre Schnittstelle (h-Datei), um aufzuräumen):

UIActivityIndicator *indicator; 

Für Ihre Implementierung (.m-Datei):

Starten Sie die 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]; 

Halten Sie die Animation

[indicator removeFromSuperview]; 
indicator = nil; 
0

Ben Antwort sieht ziemlich ähnlich zu dem, was ich tue - Ihre Vermutung über den Thread wahrscheinlich genau ist. Verwenden Sie NSURLConnection, um mit dem Herunterladen fertig zu werden? Wenn ja, verwenden Sie die synchrone oder asynchrone Version? Wenn es sich um die synchrone Version handelt und Sie einfach die Animation um den synchronen Aufruf starten und stoppen, wird die Benutzeroberfläche erst aktualisiert, nachdem Sie die Animation beendet haben.

Verwandte Themen