Hauteur d'une cellule dans une tableview
Rvb33
Membre
Bonjour,
Comment peut-on obtenir la hauteur d'une cellule (ligne) dans une tableView ?
merci de votre aide
Comment peut-on obtenir la hauteur d'une cellule (ligne) dans une tableView ?
merci de votre aide
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Hauteur de toutes les cellules si ce sont les mêmes, hauteur d'une cellule en particulier (différente des autres) ?
Si les cellules ont une hauteur différente, tu peux par exemple récupérer la cellule en question avec [tableView cellForRowAtIndexPath..], puis récupérer la frame de la cellule et enfin la hauteur.
Pourquoi ne pas directement demander au modèle vian heightForRowAtIndexPath ? (s'il est implémenté... ou sinon si c'est la même hauteur pour toutes les cellules, demander directement à la tableview sa propriété rowHeight)...
Bref, pourquoi faire compliué quand on peut faire simple (et poser des questions quand la réponse se trouve directement dans la doc) ?
Mais il a l'air de vouloir récupérer la hauteur déjà attribuée, par de vouloir la "setter" avec :
tableView:heightForRowAtIndexPath:
Si tu implémentes [tt]tableView:heightForRowAtIndexPath:[/tt] pour retourner disons 50 pour un indexPath donné, quand la cellule va se dessiner, elle fera forcément 50pt de haut puisque c'est ce que tu lui demandes !
Alors pourquoi aller ensuite dire au modèle de récupérer la cellule côté vue, puis demander à cette dernière d'indiquer sa hauteur de 50... alors que c'est déjà le modèle qui lui a dit qu'elle devait faire 50pt de haut !
Evidemment c'est pareil si on implémente pas [tt]tableView:heightForRowAtIndexPath:[/tt] mais passe par [tt]tableView.rowHeight[/tt].
En plus demander la cellule juste pour récupérer hauteur ça a de nombreux inconvénients :
Je vois pas trop l'intérêt de se compliquer la vie plutôt que de demander au delegate... qui en plus est là justement pour fournir ces infos !!