Domanda

Sto cercando di visualizzare un'icona di caricamento mentre l'app per iPhone scarica una risorsa di rete, ma non riesco a capire come visualizzarla correttamente.

Ho cercato e trovato alcuni dettagli sulla classe UIActivityView , ma il codice sorgente di esempio disponibile non ha funzionato e la documentazione è piuttosto concisa.

Qualcuno potrebbe fornire un semplice esempio su come usare questa classe?

È stato utile?

Soluzione

Supponendo che tu abbia impostato un controller di visualizzazione e desideri aggiungere un UIActivityIndicator , ecco come puoi farlo:

(supponi di avere una variabile membro chiamata indicatore , che puoi utilizzare in seguito per ripulire)

Per la tua interfaccia (file .h):

UIActivityIndicator *indicator;

Per la tua implementazione (file .m):

Avvia l'animazione

CGRect b = self.view.bounds;
indicator = [[UIActivityIndicator alloc] initWithActivityIndicatorStyle: 
                                             UIActivityIndicatorStyleWhite];
//center the indicator in the view
indicator.frame = CGRectMake((b.size.width - 20) / 2, (b.size.height - 20) / 2, 20, 20); 
[self.view addSubview: indicator];
[indicator release];
[indicator startAnimating];

Interrompi l'animazione

[indicator removeFromSuperview];
indicator = nil;

Altri suggerimenti

La risposta di Ben sembra abbastanza simile a quella che sto facendo: la tua ipotesi sul thread è probabilmente accurata. Stai utilizzando NSURLConnection per gestire il tuo download? In tal caso, stai usando la versione sincrona o asincrona? Se è la versione sincrona e stai semplicemente avviando e arrestando l'animazione attorno alla chiamata sincrona, l'interfaccia utente non si aggiorna fino a quando non hai interrotto l'animazione.

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