Nella mia app per iPhone sto scaricando alcuni dati da un server FTP. Per mostrare l'azione che sto usando UIActivityIndicator
. Se inserisco UIProgressView
al posto di UIActivityIndicator
, sarà più appropriato. Come utilizzare UIProgressView
durante il download di alcuni dati? Qualcuno può darmi un link tutorial o un codice di esempio? Grazie in anticipo.come utilizzare la barra di avanzamento nell'app per iphone
risposta
prima si crea IBOutlet nel file h
IBOutlet UIProgressView * threadProgressView;
Poi, nel file di .m in viewDidLoad primo set di avanzamento per 0,0 quindi chiamare il metodo makeMyProgressMoving
threadProgressView.progress = 0.0;
[self performSelectorOnMainThread:@selector(makeMyProgressBarMoving) withObject:nil waitUntilDone:NO];
quindi aggiungere sotto il metodo
- (void)makeMyProgressBarMoving {
float actual = [threadProgressView progress];
if (actual < 1) {
threadProgressView.progress = actual + ((float)recievedData/(float)xpectedTotalSize);
[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(makeMyProgressBarMoving) userInfo:nil repeats:NO];
}
else{
}
}
anche dare la tua recensione per la risposta. ti è utile?
È abbastanza semplice. Hai solo bisogno di impostare il valore appropriato della proprietà progress
di UIProgressView
.
In delegato di NSURLConnection
si dovrebbe ricevere la quantità di dati che si sta aspettando di scaricare e aggiornare il progress
durante il download. Progress
è rappresentato da un valore a virgola mobile compreso tra 0.0 e 1.0, incluso, dove 1.0 indica il completamento dell'attività.
puoi darmi qualche codice di esempio? – Ravi
È possibile visualizzare il progresso della barra di avanzamento con questi riga di codice
-(void) connection:(NSURLConnection *) connection
didReceiveData:(NSData *) data {
if (file)
{
[file seekToEndOfFile];
progressView.progress = ((float)recievedData/(float) xpectedTotalSize);
}
[file writeData:data];
recievedData += data.length;
NSLog(@"Receiving Bytes: %d", recievedData);
}
Una delle opzioni è AFNetworking. AFURLConnectionOperation consente inoltre di eseguire facilmente lo streaming di caricamenti e download, gestire le sfide di autenticazione, monitorare il caricamento e scaricare i progressi e controllare il comportamento o le richieste di memorizzazione nella cache.
annotato: self.progressionBalance.progress = 5.0/10.0;
è necessario impostare il decimale.
stai usando i metodi NSURLConnection? per il download di ftp? – Ketan
Prova questa libreria HUD per iOS in swift https://github.com/shubh10/JustHUD –