Wskaźniki postępu i aktywności na platformie Xamarin.iOS
Prawdopodobnie aplikacja będzie musiała wykonywać długotrwałe zadania, takie jak ładowanie lub przetwarzanie danych, i że to opóźnienie może spowodować opóźnienie aktualizacji interfejsu użytkownika. W tym czasie należy zawsze użyć wskaźnika postępu, aby uspokoić użytkownika, że system wykonuje pracę. Daje to użytkownikowi kontrolę nad tym, że aplikacja pracuje nad żądaniem, że nie czeka na dane wejściowe i może dostarczyć szczegółowe informacje o tym, jak długo muszą czekać.
System iOS udostępnia dwa główne sposoby zapewnienia tego wskaźnika postępu w aplikacji: Wskaźniki aktywności (w tym określony wskaźnik aktywności sieciowej ) i Paski postępu.
Wskaźnik działania
Wskaźniki aktywności powinny być wyświetlane, gdy aplikacja działa długo, ale nie wiesz, jak długo będzie wymagane zadanie.
Firma Apple ma następujące sugestie dotyczące pracy ze wskaźnikami aktywności:
- Jeśli to możliwe, użyj pasków postępu Zamiast tego — ponieważ wskaźnik aktywności nie przekazuje użytkownikowi żadnych opinii, jak długo trwa proces, zawsze używaj paska postępu, jeśli długość jest wie (na przykład ile bajtów do pobrania w pliku).
- Zachowaj wskaźnik animowany — użytkownicy odnoszą nieruchomy wskaźnik aktywności do zatrzymanej aplikacji, więc zawsze powinien być animowany wskaźnik podczas jego wyświetlania.
- Opisz przetworzone zadanie — samo wyświetlanie wskaźnika aktywności nie wystarczy. Użytkownik musi być poinformowany o tym, na jaki proces czeka. Dołącz zrozumiałą etykietę (zazwyczaj pojedyncze, pełne zdanie), która jasno definiuje zadanie.
Implementowanie wskaźnika aktywności
Wskaźnik aktywności jest implementowany za pośrednictwem UIActivityIndictorView
klasy, aby wskazać, że UIActivity
ma miejsce.
Zarządzanie zachowaniem wskaźnika aktywności
StartAnimating()
Użyj metod iStopAnimating()
, aby uruchomić i zatrzymać animację wskaźnika aktywności.
Ustaw właściwość na HidesWhenStopped
, true
aby wskaźnik aktywności zniknął po StopAnimating()
wywołaniu. Ta opcja jest domyślnie true
ustawiona na wartość . W dowolnym momencie można sprawdzić, czy wskaźnik aktywności uruchamia animację wirowania, sprawdzając IsAnimating
właściwość .
Zarządzanie wyglądami wskaźnika aktywności
UIActivityIndicatorViewStyle
Wyliczenie można przekazać jako parametr podczas tworzenia wystąpienia wskaźnika aktywności. W tym celu można ustawić styl wizualizacji na Gray
, White
lub WhiteLarge
, na przykład:
activitySpinner = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.WhiteLarge);
Kolor udostępniony UIActivityIndicatorViewStyle
przez ustawienie Color
właściwości można zastąpić.
Pasek postępu
Pasek postępu jest wyświetlany jako linia, która wypełnia kolorem, aby wskazać stan i długość czasochłonnego zadania. Paski postępu powinny być zawsze używane, gdy długość zadań jest znane lub można je obliczyć.
Firma Apple ma następujące sugestie dotyczące pracy z paskami postępu:
- Dokładnie zgłaszaj postęp — paski postępu powinny zawsze być dokładną reprezentacją czasu wymaganego do wykonania zadania. Nigdy nie wprowadzaj w błąd czasu, aby aplikacja wydawała się zajęta.
- Użyj dla dobrze zdefiniowanych czasów trwania — pasek postępu powinien nie tylko pokazywać, że trwa długie zadanie, ale daje użytkownikowi i wskazanie, ile zadania zostało ukończone, oraz oszacowanie pozostałego czasu.
Implementowanie paska postępu
Pasek postępu jest tworzony przez utworzenie wystąpienia elementu UIProgressView
Paski postępu i scenorysy
Możesz również dodać pasek postępu do interfejsu użytkownika podczas korzystania z Projektant systemu iOS. Wyszukaj pozycję Widok postępu w przyborniku i przeciągnij go do widoku.
Następujące właściwości można dostosować w okienku właściwości:
Zarządzanie zachowaniem paska postępu
Postęp paska można początkowo ustawić za pomocą Progress
właściwości :
ProgressBar.Progress = 0f;
Postęp można dostosować przy użyciu SetProgress
metody i przekazać wartość logiczną deklarując, jeśli chcesz animować zmianę.
ProgressBar.SetProgress(1.0f, true);
Aby uzyskać więcej informacji na temat korzystania z paska postępu, zapoznaj się z przepisem Raportowanie postępu .
Zarządzanie wyglądem paska postępu
Podobnie jak w przypadku wskaźnika aktywności, UIProgressViewStyle
wyliczenie można przekazać jako parametr podczas tworzenia wystąpienia paska postępu.
Kolor postępu i śledzenia obrazu i odcienia można dostosować przy użyciu następujących właściwości:
progressBar = new UIProgressView(UIProgressViewStyle.Default)
{
ProgressImage = UIImage.FromBundle("TrackImage"),
ProgressTintColor = UIColor.Cyan,
TrackImage = UIImage.FromBundle("TrackImage"),
TrackTintColor = UIColor.Magenta
};