Status- und Aktivitätsindikatoren in Xamarin.iOS

Es ist wahrscheinlich, dass Ihre App Aufgaben mit langer Ausführungsdauer ausführen muss, z. B. das Laden oder Verarbeiten von Daten, und dass diese Verzögerung zu einer Verzögerung bei der Aktualisierung Ihrer Benutzeroberfläche führen kann. Während dieser Zeit sollten Sie immer eine Statusanzeige verwenden, um dem Benutzer zu versichern, dass das System mit der Arbeit beschäftigt ist. Dies gibt dem Benutzer die Kontrolle, dass die App an ihrer Anforderung arbeitet, dass sie nicht auf ihre Eingabe wartet, und kann eine Möglichkeit bieten, genau anzugeben, wie lange sie warten müssen.

iOS bietet zwei Standard Möglichkeiten, diese Statusanzeige in Ihrer App bereitzustellen: Aktivitätsindikatoren (einschließlich eines bestimmten Indikators für Netzwerkaktivität) und Statusanzeigen.

Aktivitätsindikator

Aktivitätsindikatoren sollten angezeigt werden, wenn Ihre App einen langen Prozess ausführt, aber Sie wissen nicht, wie lange die Aufgabe genau dauert.

Apple hat die folgenden Vorschläge für die Arbeit mit Aktivitätsindikatoren:

  • Verwenden Sie nach Möglichkeit stattdessen Statusanzeigen: Da ein Aktivitätsindikator dem Benutzer kein Feedback darüber gibt, wie lange der ausgeführte Prozess dauert, verwenden Sie immer eine Statusanzeige, wenn die Länge bekannt ist (z. B. wie viele Bytes in einer Datei heruntergeladen werden sollen).
  • Animieren des Indikators : Benutzer verknüpfen einen stationären Aktivitätsindikator mit einer verzögerten App, sodass Sie den Indikator während der Anzeige immer animieren lassen sollten.
  • Beschreiben der verarbeiteten Aufgabe : Das Anzeigen des Aktivitätsindikators allein reicht nicht aus. Der Benutzer muss über den Prozess informiert werden, auf den er wartet. Fügen Sie eine aussagekräftige Bezeichnung (in der Regel einen einzelnen, vollständigen Satz) ein, der die Aufgabe eindeutig definiert.

Implementieren eines Aktivitätsindikators

Ein Aktivitätsindikator wird über die UIActivityIndictorView -Klasse implementiert, um anzugeben, dass ein UIActivity stattfindet.

Verwalten des Aktivitätsindikatorverhaltens

Verwenden Sie die StartAnimating() Methoden und StopAnimating() , um die Aktivitätsindikatoranimation zu starten und zu beenden.

Legen Sie die HidesWhenStopped -Eigenschaft auf fest true , damit der Aktivitätsindikator nach dem StopAnimating() Aufruf ausgeblendet wird. Dies ist standardmäßig auf true festgelegt. Sie können jederzeit sehen, ob der Aktivitätsindikator seine Sich drehende Animation ausführt, indem Sie die IsAnimating -Eigenschaft überprüfen.

Verwalten von Darstellungen des Aktivitätsindikators

Die UIActivityIndicatorViewStyle Enumeration kann beim Instanziieren des Aktivitätsindikators als Parameter übergeben werden. Sie können dies verwenden, um den visuellen Stil auf Gray, Whiteoder WhiteLargefestzulegen, z. B.:

activitySpinner = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.WhiteLarge);

Sie können die von bereitgestellte UIActivityIndicatorViewStyle Farbe überschreiben, indem Sie die Color -Eigenschaft festlegen.

Statusanzeige

Eine Statusanzeige wird als Linie dargestellt, die mit Farbe gefüllt ist, um den Zustand und die Länge eines zeitaufwändigen Vorgangs anzugeben. Statusanzeigen sollten immer verwendet werden, wenn die Länge der Aufgaben bekannt ist oder berechnet werden kann.

Apple hat die folgenden Vorschläge für die Arbeit mit Statusanzeigen:

  • Status präzise melden – Statusanzeigen sollten immer eine genaue Darstellung der Zeit sein, die zum Abschließen einer Aufgabe erforderlich ist. Geben Sie niemals falsch an, wie lange die App ausgelastet erscheint.
  • Verwenden sie für Well-Defined Daueren : Die Statusleiste sollte nicht nur anzeigen, dass eine langwierige Aufgabe ausgeführt wird, sondern dem Benutzer einen Hinweis darauf geben, wie viel der Vorgang abgeschlossen ist, und eine Schätzung der verbleibenden Zeit.

Implementieren einer Statusanzeige

Eine Statusleiste wird erstellt, indem ein instanziiert wird UIProgressView

Statusleisten und Storyboards

Sie können ihrer Benutzeroberfläche auch eine Statusleiste hinzufügen, wenn Sie die iOS-Designer verwenden. Suchen Sie in der Toolbox nach Statusansicht, und ziehen Sie sie in Ihre Ansicht.

Die folgenden Eigenschaften können auf dem Eigenschaftenpad angepasst werden:

Screenshot des Eigenschaftenpads, in dem Sie die Eigenschaften Format, Status, Statuston, Farbton, Farbton, Statusbild und Bild nachverfolgen ändern können.

Verwalten des Statusanzeigeverhaltens

Der Status des Balkens kann zunächst mithilfe der Progress -Eigenschaft festgelegt werden:

ProgressBar.Progress = 0f;

Der Fortschritt kann mithilfe der SetProgress -Methode angepasst werden und ein boolescher Deklarierungsvorgang übergeben werden, wenn Die Änderung animiert werden soll oder nicht.

ProgressBar.SetProgress(1.0f, true);

Weitere Informationen zur Verwendung der Statusanzeige finden Sie im Rezept für den Berichterstellungsstatus und im UiCatalog-Beispiel für tvOS.

Verwalten der Darstellung der Statusleiste

Ähnlich wie bei einem Aktivitätsindikator kann die UIProgressViewStyle Enumeration beim Instanziieren der Statusanzeige als Parameter übergeben werden.

Die Status- und Bildverfolgungs- und Farbtonfarbe können mithilfe der folgenden Eigenschaften angepasst werden:

progressBar = new UIProgressView(UIProgressViewStyle.Default)
            {
                ProgressImage = UIImage.FromBundle("TrackImage"),
                ProgressTintColor = UIColor.Cyan,
                TrackImage = UIImage.FromBundle("TrackImage"),
                TrackTintColor = UIColor.Magenta
            };