hé, nous avons un UITableView à l'intérieur duquel nous avons (évidemment) de nombreux UITableViewCells. Nous devons mettre en œuvre une action afin que lorsque l'utilisateur touche la cellule, la cellule se développe et affiche plus d'informations. Si l'utilisateur touche à nouveau la cellule, il revient à la taille d'origine.iphone dev: redimensionner dynamiquement UITableView
Nous avons pu mettre en œuvre en modifiant la hauteur du cadre de la cellule comme ceci:
CGRect newFrameTemp = self.frame;
newFrameTemp.size.height +=textHeight;
self.frame = newFrameTemp;
et se déplaçant aussi toutes les autres cellules textHeight
pixels vers le bas. (Et aussi changé la taille de la table elle-même)
Cela a semblé fonctionner, seulement que les événements «tactiles» ne se sont pas déplacés ensemble avec les cellules de sorte que si je veux toucher la cellule suivante, j'ai vraiment besoin de toucher le milieu de la cellule que nous venons «ouvert»
des indices sur nous faisons mal?
Hey Ben, nous avons effectivement avons essayé et ça n'a pas fonctionné, mais nous allons essayer à nouveau .. –
Hé bien, non. Ça ne fonctionne pas. heightForRowAtIndexPath est appelée uniquement lors de la création de la table. Ce que nous faisons est de changer la hauteur de la cellule dynamiquement lorsque l'utilisateur la touche. –
Sûrement tableView: heightForRowAtIndexPath: est appelé lorsque vous rechargez la vue de table? Ajuster la hauteur dans cette méthode puis appeler [tableView reloadData] peut-être? –