Question

J'ai plusieurs parties dans mon application pour lesquelles j'utilise des cellules personnalisées d'affichage de tableau.

Leur contenu est créé avec des sous-vues.

Le problème est que sur certaines de ces cellules, le contenu n'apparaît pas du tout ou ne s'affiche pas correctement tant que la cellule n'a pas été sélectionnée pour la première fois.

Un exemple est une cellule personnalisée qui a une sous-vue personnalisée qui peut être définie après sa création. Cette vue n'apparaît pas du tout avant que je sélectionne la cellule et ses vues ont été redessinées. L'appel - [setNeedsDisplay] dans la méthode de définition de la sous-vue n'aide pas non plus.

Était-ce utile?

La solution

Le problème était que j’utilisais les cellules elles-mêmes pour calculer leur hauteur. Pour une raison quelconque, les sous-vues (qui faisaient partie de la cellule utilisée pour calculer la hauteur) n'apparaissaient pas correctement dans les cellules utilisées pour l'affichage réel.

Par conséquent, mon conseil: ne jamais utiliser un UITableViewCell pour calculer sa propre hauteur. Cela peut fonctionner en principe (il ne tombe pas en panne), mais risque de vous mordre plus tard de manière non détectée et difficile à déboguer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top