Dans mon application iPhone, je télécharge des données à partir d'un serveur FTP. Pour montrer l'action, j'utilise UIActivityIndicator
. Si je mets UIProgressView
à la place de UIActivityIndicator
, ce sera plus approprié. Comment utiliser UIProgressView
lors du téléchargement de données? Quelqu'un peut-il me donner un lien de tutoriel ou un exemple de code? Merci d'avance.
d'abord, vous créez IBOutlet dans un fichier .h
IBOutlet UIProgressView * threadProgressView;
Ensuite, dans le fichier .m de viewdidload, définissez d'abord Progress à 0.0, puis appelez la méthode makeMyProgressMoving
threadProgressView.progress = 0.0;
[self performSelectorOnMainThread:@selector(makeMyProgressBarMoving) withObject:nil waitUntilDone:NO];
puis ajoutez la méthode ci-dessous
- (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{
}
}
donnez également votre avis pour la réponse. cela vous est-il utile?
C'est assez simple. Il vous suffit de définir la valeur appropriée de la propriété progress
sur UIProgressView
.
En tant que délégué de NSURLConnection
, vous devriez recevoir la quantité de données que vous attendez pour télécharger et mettre à jour progress
pendant le téléchargement. Progress
est représenté par une valeur à virgule flottante comprise entre 0.0 et 1.0, inclus, 1.0 indiquant l'achèvement de la tâche.
Vous pouvez afficher l'avancement de la barre de progression avec ces lignes de code
-(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);
}
Une des options est AFNetworking . AFURLConnectionOperation vous permet également de transférer facilement des téléchargements et des téléchargements, de gérer les problèmes d’authentification, de surveiller les téléchargements et de suivre leur progression, ainsi que de contrôler le comportement ou les demandes de mise en cache.
noté: self.progressionBalance.progress = 5.0/10.0;
vous devez définir la décimale.