Nouveau dans iOS 8, vous pouvez obtenir des cellules de vue de tableau 100% dynamiques en définissant simplement la hauteur de ligne estimée, puis en mettant en page vos éléments dans la cellule à l'aide de la disposition automatique. Si le contenu augmente en hauteur, la cellule augmentera également en hauteur. Ceci est extrêmement utile et je me demande si le même exploit peut être accompli pour les en-têtes de section dans une vue de tableau?
Peut-on, par exemple, créer un UIView
in tableView:viewForHeaderInSection:
, ajouter une sous- UILabel
vue, spécifier des contraintes de mise en page automatique pour l'étiquette par rapport à la vue et faire augmenter la hauteur de la vue pour s'adapter au contenu de l'étiquette, sans avoir à implémenter tableView:heightForHeaderInSection:
?
La documentation pour les viewForHeaderInSection
états: "Cette méthode ne fonctionne correctement que lorsque tableView: heightForHeaderInSection: est également implémentée." Je n'ai pas entendu si quelque chose a changé pour iOS 8.
Si on ne peut pas faire cela, quelle est la meilleure façon d'imiter ce comportement?
UITableViewAutomaticDimension
dire "si vous renvoyez cette constante danstableView:heightForHeaderInSection:
outableView:heightForFooterInSection:
,UITableView
utilise une hauteur qui correspond à la valeur renvoyée partableView:titleForHeaderInSection:
outableView:titleForFooterInSection:
(si le titre ne l'est pasnil
)".