Sviluppo iPhone: limita l'interazione dell'utente con l'applicazione e mostra un indicatore di progresso

StackOverflow https://stackoverflow.com/questions/446077

  •  22-07-2019
  •  | 
  •  

Domanda

Ho un caso in cui estraggo informazioni da un server. La mia applicazione ha sia una barra delle schede che pulsanti di navigazione. Voglio che l'applicazione mostri un indicatore di avanzamento e disabiliti tutti gli altri controlli in modo che l'utente non possa saltare mentre i dati vengono estratti dal server. Come posso raggiungere questo obiettivo?

Un approccio che ho in mente è quello di mostrare una vista trasparente con una finestra di avanzamento (proprio come la finestra di avviso del messaggio - che consente all'utente di interagire solo con la finestra di avviso del messaggio). Ho bisogno di aiuto per attuare questo approccio.

Attualmente, quando le informazioni / i dati vengono estratti dal server, aggiungo un UIActivityView alla vista secondaria e inizio ad animarlo. Ma ciò non impedisce all'utente di navigare verso altre parti dell'applicazione.

È stato utile?

Soluzione

Stephan ha suggerito l'uso di UIAlertView con UIProgressView o UIActivityIndicatorView. Questa soluzione ha funzionato per me, ma come discusso con alcuni degli altri membri della comunità degli sviluppatori di iPhone, questo approccio non è raccomandato.

L'approccio consigliato è utilizzare una nuova vista e impostare il valore di trasparenza su alpha 7 o 8, impostare lo sfondo su nero e aggiungere UIProgressView o UIActivityIndicatorView in questa vista e utilizzare questa nuova vista per mostrare i progressi. Nessun hack è coinvolto nell'uso di questa tecnica. Mentre, in caso di aggiunta di UIActivityIndicatorView a UIAlertView, stai effettivamente eseguendo un'operazione non documentata (che non è consigliata).

Grazie.

Altri suggerimenti

Basta creare un UIAlertView senza pulsanti, impedirà qualsiasi interazione dell'utente.

Puoi aggiungere un UIProgressView o UIActivityIndicatorView al tuo avviso, se lo desideri.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top