Frage

Ich versuche, ein Ladesymbol angezeigt werden, während mein iPhone App eine Netzwerkressource heruntergeladen, aber ich kann nicht herausfinden, wie man es richtig zeigt bis zu machen.

Ich suchte herum und fand auf der UIActivityView Klasse einige Details, aber das verfügbare Codebeispiel Quelle hat nicht funktioniert, und die Dokumentation ist eine Art kurz und bündig.

Könnte jemand ein einfaches Beispiel geben, wie diese Klasse benutzen?

War es hilfreich?

Lösung

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

(vorausgesetzt, dass Sie eine Membervariable namens indicator haben, die Sie später aufzuräumen verwenden)

Für Ihre Schnittstelle (h-Datei):

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];

Stoppen Sie die Animation,

[indicator removeFromSuperview];
indicator = nil;

Andere Tipps

Ben Antwort sieht ziemlich ähnlich zu dem, was ich tue - Ihre Vermutung über den Thread wahrscheinlich genau ist. Verwenden Sie NSURLConnection das Herunterladen zu behandeln? Wenn ja, verwenden Sie die synchrone oder asynchrone Version? Wenn es die synchrone Version ist und Sie einfach starten und die Animation um den synchronen Aufruf zu stoppen, wird die UI nicht aktualisiert, bis der Sie die Animation gestoppt haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top