2012-03-28 4 views
0

L'application en cours a plusieurs viewControllers empilés dans UINavigation.Détection élégante de démarrage/arrêt ActivityIndicator Animation

Chaque vue peut appeler des actions internes qui déclenchent un indicateur d'activité individuel (un indicateur d'activité par vue).

Question: Quelle est une manière élégante d'avoir un code central qui peut détecter quand les différents indicateurs d'activité démarrent/s'arrêtent?

Je suppose qu'un bon point central serait le délégué, je suis à la recherche d'une solution propre, efficace et surtout élégante.

Répondre

0

Créez l'affichage de l'indicateur d'activité dans votre délégué et ajoutez-le de sorte qu'il soit toujours au premier plan de vos vues et masquez-le.

Créer un compteur dans l'interface de votre délégué int activityCounter;

Créer une méthode sur votre délégué par exemple

-(void)startActivityIndicator { 
    activityCounter++; 
    activityView.hidden = NO; 
} 

Et une autre pour la finition

-(void)stopActivityIndicator { 
    activityCounter--; 
    if (activityCounter <= 0) 
     activityView.hidden = YES; 
} 

Ensuite, dans vos contrôleurs de vue lorsque vous démarrer une activité qui doit afficher l'indicateur, vous pouvez appeler startActivityIndicator sur votre délégué mangé et quand il a fini, appelez stopActivityIndicator. Cela permettra également de gérer les cas où vous pourriez avoir plus d'une activité qui se chevauche et vous voulez garder l'indicateur d'activité visible jusqu'à ce qu'ils aient tous fini.

0

Peut être que vous pouvez créer un contrôleur View généralisé pour tous les voir contrôleurs et d'hériter dans toutes les vues dans lesquelles vous Firing des indicateurs d'activité ...

Ensuite, vous pouvez maintenir votre pile des indicateurs d'activité selon à vos points de vue. Vous pouvez stocker un NSMutableArray pour suivre les indicateurs d'activité que vous démarrez et arrêtez. Un autre moyen est que vous pouvez également utiliser NSMutableDictionary, de sorte que vous pouvez stocker le drapeau de votre indicateur d'activité avec sa vue parent comme clé.

Tout le meilleur !!!

Questions connexes