9
votes

Y a-t-il un moyen facile d'observer les cellules visibles dans une vision utile?

Je dois garder une trace des cellules visibles dans un utableview , car certains événements doivent se produire lorsque des cellules représentant des pièces spécifiques de données deviennent visibles. utableview ne semble pas être compatible KVO pour -indexpathsforvisiblerows ou -Vissiblecells , et il n'y a pas de utableviewelegate Donne un crochet pour être notifié que les cellules visibles ont changé.

Y a-t-il un moyen de le faire, de suivre manuellement une trace de mon propre matrice, d'ajouter / supprimer des objets chaque fois que j'insère / retirez une ligne, rechargez la table ou des méthodes telles que -TableView: CellfornTindexpath: sont appelés?


0 commentaires

3 Réponses :


6
votes

Comment sur UditableViewDelegate Méthode:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath


1 commentaires

D'après ce que je peux dire utableview.visiblecells est mis à jour après cette méthode est appelée, de sorte que cela n'aide pas à résoudre ce problème particulier.



1
votes

Sans piratage / sous-classement UitailView ou UitailViewCell, la réponse semble être non.


0 commentaires

0
votes

Si vous ne faites pas trop de choses exotiques avec la table elle-même, comme la réorganisation et la suppression / la suppression / l'insertion des lignes, vous pouvez utiliser la méthode ScrollViewDidscroll: méthode et les autres méthodes de délégués ScrollView envoyées par une TableView.

Dans cette méthode, vous pouvez appeler des visiblecells et aller de là.


0 commentaires