tableView la hauteur de la cellule... comment le personnaliser?
Est-il possible de modifier la hauteur d'une seule cellule dans un groupe de la vue de la table?
J'ai une vue de table avec 2 sections de 3 et de 2 lignes... je voudrais modifier la hauteur de ligne de la deuxième ligne de la deuxième section...
Comment puis-je faire cela?
Merci!
OriginalL'auteur matteodv | 2010-09-17
Vous devez vous connecter pour publier un commentaire.
Vous pouvez regarder cette méthode:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
Dans votre cas, le code devrait ressembler à:
Vous pouvez regarder pour plus de détails sur la méthode ici
else if (indexPath.section == 1 && indexPath.ligne == 1) { descrizioneLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 5, 285, 50)]; descrizioneLabel.font = [UIFont boldSystemFontOfSize:14.0]; descrizioneLabel.backgroundColor = [UIColor clearColor]; descrizioneLabel.numberOfLines = 0; descrizioneLabel.texte = le souhaitez.descrizione; [cellule.contentView addSubview:descrizioneLabel]; }
et c'est la méthode posté par vous-même: -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.section == 1 && indexPath.ligne == 1) { NSString *test = descrizioneLabel.texte; UIFont *cellFont = [UIFont boldSystemFontOfSize:14.0]; CGSize constraintSize = CGSizeMake(280.0, MAXFLOAT); CGSize labelSize = [testo sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap]; return labelSize.hauteur; } return 44.0; }
Je ne suis pas sûr, mais voici mon estimation: la méthode heightForRow est appelée avant que la méthode cellForRow, donc au moment de l'appel à descrizoneLabel dans heightForRow, il n'est pas encore construit, pouvez-vous tester. Je n'ai pas de XCode ici
Ok maintenant je comprends... Et comment puis-je faire pour créer l'étiquette, puis d'appeler la heightForRow méthodes? Merci 😉
OriginalL'auteur vodkhang
Dans iOS 8 et ci-dessus, nous pouvons utiliser la Dynamique de la Vue de la Table de Cellules Hauteur.
L'utilisation de cette fonctionnalité
UITableviewCell
obtenir sa hauteur de son contenu, et Nous n'avons pas besoin d'écrire heightForRowAtIndexPathTout ce que j'ai à faire dans viewDidLoad()
Si
cell
contientuilabel
. ensuite, appliquer des contraintes àuilabel
Assurez-vous de modifier le libellé --Lignes-- 0
La cellule va croître automatiquement avec le contenu de
uilabel
:OriginalL'auteur Irfan
Vous pouvez utiliser la méthode suivante pour revenir à la hauteur de la ligne à un index donné le chemin d'accès:
http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html%23//apple_ref/occ/intfm/UITableViewDelegate/tableView:heightForRowAtIndexPath:
OriginalL'auteur jlehr
Ont un coup d'oeil à
Pour la indexpath seulement de vérifier la ligne et de la section et d'ajuster la hauteur en conséquence
OriginalL'auteur Liam