Share via


Indicatori di avanzamento e attività in Xamarin.iOS

È probabile che l'app dovrà eseguire attività a esecuzione prolungata, ad esempio il caricamento o l'elaborazione dei dati e che questo ritardo potrebbe causare un ritardo nell'aggiornamento dell'interfaccia utente. Durante questo periodo è consigliabile usare sempre un indicatore di stato per rassicurare l'utente che il sistema è occupato durante il lavoro. In questo modo l'utente controlla che l'app stia lavorando sulla richiesta, che non sia in attesa dell'input e possa fornire un mezzo per dettagliare esattamente per quanto tempo devono attendere.

iOS offre due modi principali per fornire questa indicazione di avanzamento nella tua app: indicatori di attività (incluso un indicatore di attività di rete specifico) e barre di stato.

Indicatore attività

Gli indicatori di attività devono essere visualizzati quando l'app esegue un processo lungo, ma non si conosce il periodo esatto di tempo necessario per l'attività.

Apple offre i suggerimenti seguenti per l'uso degli indicatori di attività:

  • Quando possibile, usare invece indicatore di stato : poiché un indicatore di attività non fornisce all'utente alcun feedback sul tempo necessario per il processo in esecuzione, usare sempre un indicatore di stato se la lunghezza è nota (ad esempio, quanti byte scaricare in un file).
  • Mantieni l'indicatore animato : gli utenti correlano un indicatore di attività stazionaria a un'app bloccata, in modo da avere sempre l'indicatore animato mentre viene visualizzato.
  • Descrivere l'attività in fase di elaborazione : solo la visualizzazione dell'indicatore di attività da sola non è sufficiente, l'utente deve essere informato del processo in attesa. Includere un'etichetta significativa (in genere una singola frase completa) che definisce chiaramente l'attività.

Implementazione di un indicatore di attività

Un indicatore di attività viene implementato tramite la UIActivityIndictorView classe per indicare che si sta verificando un oggetto UIActivity .

Gestione del comportamento dell'indicatore di attività

Usa i StartAnimating() metodi e StopAnimating() per avviare e arrestare l'animazione dell'indicatore di attività.

Impostare la HidesWhenStopped proprietà su true per far scomparire l'indicatore di attività dopo StopAnimating() la chiamata. Questa opzione è impostata su true per impostazione predefinita. In qualsiasi punto puoi vedere se l'indicatore attività esegue l'animazione rotante controllando la IsAnimating proprietà .

Gestione degli aspetti degli indicatori di attività

L'enumerazione UIActivityIndicatorViewStyle può essere passata come parametro quando si crea un'istanza dell'indicatore di attività. È possibile usarlo per impostare lo stile di visualizzazione su Gray, Whiteo WhiteLarge, ad esempio:

activitySpinner = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.WhiteLarge);

È possibile eseguire l'override del colore fornito UIActivityIndicatorViewStyle impostando la Color proprietà .

Barra di avanzamento

Un indicatore di stato presenta come una linea che riempie di colore per indicare lo stato e la durata di un'attività dispendiosa in termini di tempo. Le barre di stato devono essere sempre usate quando la lunghezza delle attività è a conoscenza o può essere calcolata.

Apple offre i suggerimenti seguenti per l'uso delle barre di stato:

  • Rapporto accurato stato : le barre di stato devono essere sempre una rappresentazione accurata del tempo necessario per completare un'attività. Non rappresentare mai male il tempo necessario per rendere l'app occupata.
  • Usare per durate ben definite: l'indicatore di stato non deve solo indicare che è in corso un'attività lunga, ma fornire all'utente e all'utente un'indicazione della quantità di attività completata e una stima del tempo rimanente.

Implementazione di un indicatore di stato

Un indicatore di stato viene creato creando un'istanza di UIProgressView

Barre di stato e storyboard

È anche possibile aggiungere un indicatore di stato all'interfaccia utente quando si usa progettazione iOS. Cercare Visualizzazione stato nella casella degli strumenti e trascinarlo nella visualizzazione.

È possibile regolare le proprietà seguenti nel riquadro delle proprietà:

Screenshot che mostra il riquadro proprietà in cui è possibile modificare le proprietà Style, Progress, Progress Tint, Track Tint, Progress Image e Track Image.

Gestione del comportamento dell'indicatore di stato

L'avanzamento della barra può essere inizialmente impostato utilizzando la Progress proprietà :

ProgressBar.Progress = 0f;

Lo stato di avanzamento può essere modificato usando il SetProgress metodo e passando un valore booleano dichiarando se si desidera che la modifica venga animata o meno.

ProgressBar.SetProgress(1.0f, true);

Per altre informazioni sull'uso della barra di stato, vedere la ricetta Di stato report.

Gestione dell'aspetto dell'indicatore di stato

Analogamente a un indicatore di attività, l'enumerazione UIProgressViewStyle può essere passata come parametro quando si crea un'istanza dell'indicatore di stato.

I colori di avanzamento e traccia possono essere regolati usando le proprietà seguenti:

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