Status- und Aktivitätsindikatoren in Xamarin.iOS
Es ist wahrscheinlich, dass Ihre App lange ausgeführte Aufgaben ausführen muss, z. B. das Laden oder Verarbeiten von Daten, und dass diese Verzögerung zu einer Verzögerung beim Aktualisieren der Benutzeroberfläche führen kann. Während dieser Zeit sollten Sie immer eine Statusanzeige verwenden, um den Benutzer zu vergewissern, dass das System mit der Arbeit beschäftigt ist. Dadurch erhält der Benutzer die Kontrolle, dass die App an ihrer Anforderung arbeitet, dass sie nicht auf ihre Eingabe wartet, und eine Möglichkeit zur Detailerstellung bereitstellen kann, wie lange sie warten müssen.
iOS bietet zwei Standard Möglichkeiten, diese Statusanzeige in Ihrer App bereitzustellen: Aktivitätsindikatoren (einschließlich eines bestimmten Netzwerkaktivitätsindikators) und Statusindikatoren.
Aktivitätsindikator
Aktivitätsindikatoren sollten angezeigt werden, wenn Ihre App einen langen Prozess ausführt, aber Sie wissen nicht, wie lange die Aufgabe benötigt wird.
Apple hat die folgenden Vorschläge für die Arbeit mit Aktivitätsindikatoren:
- Verwenden Sie stattdessen Statusanzeigen– Da ein Aktivitätsindikator dem Benutzer kein Feedback gibt, wie lange der prozessgesteuerte Vorgang dauert, verwenden Sie immer eine Statusleiste, wenn die Länge bekannt ist (z. B. wie viele Bytes in eine Datei heruntergeladen werden sollen).
- Halten Sie den Indikator animiert – Benutzer beziehen einen stationären Aktivitätsindikator auf eine feststehende App, sodass Sie den Indikator immer animieren sollten, während er angezeigt wird.
- Beschreiben Sie den Vorgang, der verarbeitet wird. 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) hinzu, der die Aufgabe eindeutig definiert.
Implementieren eines Aktivitätsindikators
Ein Aktivitätsindikator wird über die UIActivityIndictorView
Klasse implementiert, um anzugeben, dass eine UIActivity
Aktivität stattfindet.
Verwalten des Aktivitätsindikatorverhaltens
Verwenden Sie die StartAnimating()
Methoden StopAnimating()
, um die Aktivitätsindikatoranimation zu starten und zu beenden.
Legen Sie die HidesWhenStopped
Eigenschaft so fest, true
dass der Aktivitätsindikator ausgeblendet wird, nachdem StopAnimating()
sie aufgerufen wurde. Dies ist standardmäßig festgelegt true
. An jedem Punkt können Sie sehen, ob der Aktivitätsindikator seine sich drehende Animation ausführt, indem Sie die IsAnimating
Eigenschaft überprüfen.
Verwalten von Aktivitätsindikatordarstellungen
Die UIActivityIndicatorViewStyle
Enumeration kann beim Instanziieren des Aktivitätsindikators als Parameter übergeben werden. Sie können dies verwenden, um die visuelle Formatvorlage auf Gray
, , White
oder WhiteLarge
, z. B.:
activitySpinner = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.WhiteLarge);
Sie können die von UIActivityIndicatorViewStyle
der Color
Eigenschaft bereitgestellte Farbe überschreiben.
Statusanzeige
Eine Statusanzeige wird als Linie dargestellt, die mit Farbe gefüllt wird, um den Zustand und die Länge eines zeitaufwendigen Vorgangs anzugeben. Statusindikatoren sollten immer verwendet werden, wenn die Länge der Vorgänge bekannt ist oder berechnet werden kann.
Apple hat die folgenden Vorschläge für die Arbeit mit Statusleisten:
- Präziser Berichtstatus – Statusindikatoren sollten immer eine genaue Darstellung der Zeit sein, die zum Abschließen einer Aufgabe erforderlich ist. Stellen Sie niemals die Zeit falsch dar, um die App ausgelastet zu machen.
- Verwendung für gut definierte Dauer – Statusanzeige sollte nicht nur zeigen, dass eine langwierige Aufgabe stattfindet, sondern dem Benutzer und angaben darüber, wie viel der Vorgang abgeschlossen ist, und eine Schätzung der Zeitumstellung Standard.
Implementieren einer Statusleiste
Eine Statusanzeige wird durch Instanziieren einer UIProgressView
Statusleisten und Storyboards
Sie können Ihrer Benutzeroberfläche auch eine Statusleiste hinzufügen, wenn Sie den iOS-Designer verwenden. Suchen Sie in der Toolbox nach Statusansicht, und ziehen Sie sie in die Ansicht.
Die folgenden Eigenschaften können auf dem Eigenschaftenpad angepasst werden:
Verwalten des Statusanzeigeverhaltens
Der Status der Leiste kann zunächst mithilfe der Progress
Eigenschaft festgelegt werden:
ProgressBar.Progress = 0f;
Der Fortschritt kann mithilfe der SetProgress
Methode angepasst und eine boolesche Deklarierung übergeben, wenn die Änderung animiert werden soll oder nicht.
ProgressBar.SetProgress(1.0f, true);
Weitere Informationen zur Verwendung der Statusanzeige finden Sie im Rezept "Berichtsfortschritt ".
Verwalten der Statusleistendarstellung
Ähnlich wie bei einem Aktivitätsindikator kann die UIProgressViewStyle
Enumeration beim Instanziieren der Statusleiste als Parameter übergeben werden.
Die Farbe "Status" und "Bild nachverfolgen" und "Farbton" 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
};