2009-05-28 7 views
0

Je charge une vue à partir d'une cellule touchée par une vue de table qui contient une photo téléchargée sur le Web. J'ai mis en place un indicateur occupé qui est appelé lorsque la cellule est touchée, puis l'éteindre dans la méthode viewdiddisappear mais lorsque vous touchez la cellule il y a encore une longue pause lorsque la cellule est touchée alors l'indicateur occupé apparaît juste un deuxième, puis il charge la vue. Évidemment, je me trompe. Quelle est la meilleure façon de procéder pour que l'indicateur occupé s'allume avant la pause?Changement de vue avec indicateur occupé dans cacao touch

Merci d'avance.

Répondre

0

Merci pour la suggestion. La façon dont j'ai fini par le faire était d'utiliser le multi-threading. Spécifiquement en utilisant "opérations". Fonctionne parfaitement maintenant.

+1

(Vous devriez marquer le message de Ramin comme la bonne réponse, pas la vôtre :) Juste sayin.) – jbrennan

2

Vous pouvez pré-créer l'indicateur occupé et le définir comme caché sur chaque cellule de tableau. Si vous profitez de la mise en mémoire cache des cellules de UITableView, il n'y a que quelques cellules qui flottent à tout moment, de sorte que les frais généraux ne seront pas trop élevés. Dès que vous obtenez l'événement de sélection dans le tablview, affichez l'indicateur et animez-le avant de faire quoi que ce soit d'autre. J'ai également trouvé une légère augmentation de la vitesse lors du démarrage et de l'arrêt de l'animation en mettant/masquant le drapeau caché moi-même (et en le faisant avant de démarrer l'animation) au lieu d'utiliser la fonction 'masquer automatiquement à l'arrêt'. Ça aurait pu être mes yeux en train de jouer des tours mais ça semblait plus zippé.

Questions connexes