Ich möchte eine Fortschrittsanzeige in einer halbtransparenten Box anzeigen, die über einer Tabellenansicht schwebt. Mit anderen Worten, wenn der Tabelleninhalt heruntergeladen wird, möchte ich ein "Update" -Label darüber erscheinen.Wie wird ein Fortschrittsanzeige-Overlay/HUD auf dem iPhone angezeigt?
Ich habe das in mehreren Apps im Laden gesehen, vor allem Facebook (wenn Sie schütteln, um neu zu laden) und Darkslide.
Mein erster Impuls besteht darin, eine halbtransparente UIView zu erstellen, eine UILabel und eine UIProgressIndicatorView darin zu platzieren und sie der Ansichtshierarchie hinzuzufügen ... aber wo?
Ein UIView darf seine Geschwister nicht überlappen, so dass ich es nicht zu einer Unteransicht des Fensters machen kann.
Ich kann es auch nicht zu einer Unteransicht der Tabelle machen, weil es dann mit dem Tabelleninhalt nach oben und unten scrollt.
Ich dachte über die Erstellung eines neuen UIWindow, aber die Dokumentation sagt grundsätzlich nicht.
Ich weiß, CALayers können einander überlappen, so dass wäre eine Option, aber ich kann nicht eine Fortschrittsanzeige in einem CALayer setzen, kann ich? Sollte ich meine eigene Fortschrittsanzeige drehen, die eine CALayer anstelle einer UIView animiert?
Ich bin nicht interessiert zu hören über private APIs.
Bearbeiten: Die Frage basierte auf einer fehlerhaften Annahme. NSViews (auf Mac OS X) dürfen sich nicht überlappen, aber UIViews auf dem iPhone können.
Sie können selbst sparen f einige arbeiten mit dem [MBProgressHUD] (https://github.com/matej/MBProgressHUD), wenn es Ihren Bedürfnissen entspricht. –