2010-10-11 6 views
0

Est-il possible d'avoir différentes cellules à différentes hauteurs? Dans ma tableView, je veux que les cellules s'ajustent à la longueur du texte qu'elles contiennent. Donc, une cellule avec peu de texte sera la hauteur par défaut, mais une cellule avec beaucoup de texte sera plus large afin qu'elle puisse montrer tout le texte dedans. Est-ce possible?Modifier tableView.rowHeight en fonction de la longueur de cell.textLabel.text

Répondre

3

Oui, vous pouvez, je fais quelque chose de très similaire dans un de mes propres applications en utilisant ce qui suit, espérons que cette aide juste être conscient

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    NSString *message = [log objectAtIndex:indexPath.row]; 
    CGSize size = [message sizeWithFont:[UIFont systemFontOfSize:12] constrainedToSize:CGSizeMake(320.0f, 480.0f) lineBreakMode:UILineBreakModeWordWrap]; 
    return size.height + 15; 
} 
+1

que la mise en œuvre de cette méthode déléguée rend le tableView appeler pour chaque cellule, chaque fois qu'il redessine une partie de la table, il peut vraiment tuer les performances, en particulier pour les tables avec ~ 1000 lignes ou plus. – Kelan

+0

Merci, il m'a aidé aussi bien.J'utilisais l'autre code de mon autre application, mais cela ne fonctionnait pas dans mon application.Et votre code a encore travaillé merci encore ..... + 1 pour vous pour cette – Sabby

Questions connexes