Est-il possible de modifier la hauteur d'une seule cellule dans une vue groupée?
J'ai une vue en tableau avec 2 sections de 3 et 2 rangées ... Je changerais la hauteur de la rangée de la deuxième rangée de la deuxième section ...
Comment puis-je faire ceci?
Merci!
Vous pouvez regarder cette méthode:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
Dans votre cas, le code devrait ressembler à:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 1 && indexPath.row == 1) {
return SPECIAL_HEIGHT;
}
return NORMAL_HEIGHT;
}
Vous pouvez chercher plus de détails sur la méthode ici
Dans iOS 8 et les versions ultérieures, vous pouvez utiliser la cellule Vue dynamique du tableau Hauteur.
L'utilisation de cette fonctionnalité UITableviewCell
tire son hauteur de son contenu et nous n'avons pas besoin d'écrire heightForRowAtIndexPath
Tout ce que je dois faire dans viewDidLoad ()
tableView.estimatedRowHeight = 44.0;
tableView.rowHeight = UITableViewAutomaticDimension;
Si cell
contient uilabel
. puis appliquez des contraintes à uilabel
Assurez-vous de changer Label --Lines-- en 0
La cellule grandira automatiquement avec le contenu de uilabel
:
Vous pouvez implémenter la méthode suivante pour renvoyer la hauteur de la ligne sur un chemin d'index donné:
Jettes un coup d'oeil à
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
Pour le chemin d'indexation, il suffit de vérifier quelle ligne et quelle section et d'ajuster la hauteur en conséquence