2 votes

iPhone : Chargement des données avec une animation de progression ?

Je suis en train de créer une application iPhone et je me demande comment avoir une animation de progression lors du chargement des données ? Je vois cela souvent dans des applications telles que Tweetie, mais je n'ai pas réussi à le faire moi-même.

2voto

epatel Points 32451

Si vous ne voulez que la petite roue de réseau dans la barre d'état, vous l'activez avec

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

...et désactiver

[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

2voto

Matt Long Points 16701

Si vous parlez de charger des données sur un réseau, ASIHTTPRequest permet de transmettre une référence à un UIProgressView qui sera mis à jour avec la progression exacte des téléchargements et des envois. Je le recommande vivement.

1voto

Dana Points 9876

Dans une application que j'ai écrite pour notre société et qui effectue une très longue synchronisation (en accédant à un service web), j'affiche un UIActivityIndicatorView.

Sur la même vue, j'ai également inclus une étiquette qui affiche "Fetching X of Y..." (récupération de X de Y). L'étiquette est mise à jour via un NSTimer. L'appel ressemble à ça :

timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(updateLabel:) userInfo:nil repeats:YES];

En outre, pour que l'interface utilisateur soit réellement mise à jour, j'ai dû séparer le code permettant de récupérer les données du webservice dans son propre thread.

0voto

Convolution Points 1937

Voulez-vous dire une barre de progression, ou un indicateur d'activité ? Pour une activité en cours, vous pouvez utiliser UIActivityIndicatorView .

Le flux ressemblera un peu à ceci.

UIActivityIndivatorView *activity = [[UIActivityIndivatorView alloc] init];
//attach activity to a view or a bar

//begin activity

[activity startAnimating];

//here will be the functionality for your data gathering progress

//once your progress or activity is done

[activity stopAnimating];

J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X