Udostępnij za pośrednictwem


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

Zrzut ekranu przedstawiający okienko właściwości, w którym można modyfikować właściwości Styl, Postęp, Odcień postępu, Odcień śledzenia, Obraz postępu i Śledzenie obrazu.

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