2009-01-15 3 views
6

Ich habe einen Fall, wo ich Informationen von einem Server abrufen. Meine Anwendung hat sowohl eine Tab-Leiste als auch Navigationsschaltflächen. Ich möchte, dass die Anwendung eine Fortschrittsanzeige anzeigt und alle anderen Steuerelemente deaktiviert, sodass der Benutzer nicht herumspringen kann, während die Daten vom Server abgerufen werden. Wie kann ich das erreichen?iPhone Entwicklung - schränken Benutzerinteraktion mit Anwendung und zeigen eine Fortschrittsanzeige

Ein Ansatz, den ich im Auge habe, ist eine transparente Ansicht mit einem Fortschrittsfenster zu zeigen (ähnlich dem Nachrichtenalarmfenster - das dem Benutzer erlaubt, nur mit dem Nachrichtenalarmfenster zu interagieren). Ich brauche Hilfe bei der Umsetzung dieses Ansatzes.

Derzeit, wenn die Informationen/Daten vom Server abgerufen werden, füge ich eine UIActivityView zur Unteransicht hinzu und beginne, sie zu animieren. Dies hindert den Benutzer jedoch nicht daran, zu anderen Teilen der Anwendung zu navigieren.

Antwort

6

Stephan schlug die Verwendung von UIAlertView mit UIProgressView oder UIActivityIndicatorView vor. Diese Lösung funktionierte für mich, aber wie bei einigen anderen Mitgliedern der iPhone Entwickler-Community diskutiert, wird dieser Ansatz nicht empfohlen.

Der empfohlene Ansatz ist es, eine neue Ansicht zu nutzen und dessen transparancy Wert alpha 7 oder 8, stellen Sie es Hintergrund ist zu schwarz, und UIProgressView oder UIActivityIndicatorView in dieser Ansicht hinzufügen und diese neue Sicht Fortschritte zu zeigen, verwenden. Bei dieser Technik ist kein Hack involviert. Wenn Sie UIActivityIndicatorView zu einer UIAlertView hinzufügen, führen Sie eine nicht dokumentierte Operation durch (was nicht empfohlen wird).

Danke.

1

Erstellen Sie einfach ein UIAlertView ohne Schaltflächen, es wird jede Benutzerinteraktion verhindern.

Sie können Ihrer Warnung eine UIProgressView- oder UIActivityIndicatorView hinzufügen, wenn Sie möchten.

Verwandte Themen