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
, White
o 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à:
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
};