2009-04-14 4 views
3

Ich habe eine UITableView, die ich mit Daten bevölke, die ich über das Internet herunterladen. Während die Daten heruntergeladen werden, möchte ich ein Ladeetikett über meinem TableView anzeigen, um Benutzern anzuzeigen, dass tatsächlich etwas passiert und es kein Problem mit der App gibt. Was ist der beste Weg, dies zu tun?Wie zeige ich ein Ladeetikett über einem UITableView an?

Antwort

1

Ich denke, der beste Weg, dies zu tun ist eine Unteransicht der Hauptansicht Ihrer Anwendung hinzufügen. Matt Gallagher hatte vor 2 Tagen ein Tutorial dazu. Er zeigt Ihnen, wie man show a loading view, es enthält auch Beispielcode, den Sie herunterladen können.

+0

Ich wollte nur sagen, dass, wenn Sie diese benutzerdefinierte API verwenden, seien Sie vorsichtig damit - Apple kümmert sich nicht viel um benutzerdefinierte APIs zuletzt hörte ich. Dies ist jedoch eine sehr gute Quelle, um zu sehen, wie dies erreicht werden kann. – cdnicoll

0

Der beste Weg ist, ein Etikett und UIActivityIndicator über die UITableView in Ihrem UIView hinzuzufügen. Legen Sie in viewDidLoad die ausgeblendete Eigenschaft von UILabel auf NO fest und starten Sie die Animation des Indikators.

Rufen Sie eine Methode zum Herunterladen der Daten in einem anderen Thread auf.

[NSThread detachNewThreadSelector...] 

Sobald das Herunterladen fertig ist, wird ein Verfahren auf der Haupt-Thread aufrufen, die die UILabel gesetzt wird hidden = ja, die Anzeige-Animation stoppen und die Tabelle neu zu laden.

[self performSelectorOnMainThread...] 

Hoffnung, die hilft.