Je dois accéder à ma cellule dans le tableau de tableView:heightForRowAtIndexPath:
puisque je veux utiliser les données que j'ai pour la cellule custome pour les calculs de hauteur. La seule façon que j'ai trouvé pour obtenir mes cellules est d'appeler tableView:cellForRowAtIndexPath:
Vous devez avoir accès à la cellule de la tableView: heightForRowAtIndexPath:
Le problème qui est que l'appel tableView:cellForRowAtIndexPath:
est en fait de créer les cellules et que ne rien faire avec eux. Lorsque la même cellule devra être utilisée à des fins de dessin, elle sera créée à nouveau. Donc, pour le même index, la cellule est créée deux fois. Donc, je me demande s'il existe un moyen plus efficace de le faire. Merci pour l'aide.
C'est une pensée noble, mais cela ne fonctionne pas si vous avez besoin d'utiliser layoutSubviews pour mettre en forme les cellules dans le bon format. Dans ce cas, la hauteur de la cellule peut être ajustée dynamiquement en fonction du contenu de la cellule générée. Cela pourrait encore être travaillé autour si vous connaissiez la largeur de vos cellules, mais si cela est variable aussi? Je rencontre ce problème et je n'ai pas encore trouvé de solution. N'importe qui? – JoBu1324
Il n'y a pas moyen de contourner cela: avec UITableView, vous devez connaître la hauteur de la cellule avant de créer la cellule. –
Je ne pense pas que ce soit vrai. J'ai remarqué que tableView: heightFOrRowAtIndexPath: est appelé avant * et * après layoutSubviews. Le problème que je rencontre est un crash la première fois que j'essaie d'obtenir la hauteur de la cellule; tableView: cellForRowAtIndexPath: provoque un plantage. J'ai essayé de placer le message dans un bloc try/catch, mais ça ne sert à rien. – JoBu1324