Freigeben über


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, , Whiteoder 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:

Screenshot des Eigenschaftenblocks, auf dem Sie Formatvorlagen, Fortschritt, Fortschrittston, Nachverfolgen des Farbtons, Statusbild und Eigenschaften

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
            };