2010-04-12 6 views
0

J'ai besoin d'un moyen de modifier la hauteur des lignes UITableView différemment, mais sans implémenter la méthode de délégué -tableView: heightForRowAtIndexPath: car cela me cause de sérieux problèmes de performance dans une table indexée de 15 000 lignes.Existe-t-il une autre option pour configurer la hauteur d'une cellule de vue de table?

Maintenant, le fait est que chaque troisième table a 10 unités de plus. que les autres. Il s'agit d'un type différent de sous-classe UITableViewCell.

Mais je ne pouvais pas trouver une propriété dans UITableViewCell qui pourrait aider ici. "Que pouvais-je faire?"

Répondre

1

Vous ne pouvez pas utilement définir la hauteur de la cellule à partir de la classe de cellule elle-même. Les seules options sont cette méthode déléguée et la définition de rowHeight sur la vue de table, qui applique évidemment la même hauteur à toutes les cellules.

On dirait que les docs reconnaissent qu'il existe des problèmes de performances pour ce délégué lors de l'utilisation de plus de 1000 cellules.

Vous pouvez peut-être diviser votre table en sections et définir ces cellules plus grandes comme en-têtes de section de table (vous pouvez spécifier une hauteur distincte pour celles-ci). Ensuite, vous devrez gérer la façon dont les en-têtes de section commencent à s'empiler en haut de la table; Je ne sais pas avec certitude, mais vous pouvez être en mesure de modifier ce comportement.

Questions connexes