2010-02-02 3 views
1

Très bien donc j'ai une situation ici qui me rend fou. Je charge un UITableView avec un UITableViewCell personnalisé. Maintenant, cette cellule contient deux UILabel.UITableViewCell hauteur variable avec plusieurs UILabels et IB

si l'ordre est:

Label1 Label2 Label3 Label4

Maintenant Label2 a une hauteur fixe. Label1, Label3 et Label4 devront changer leur hauteur en fonction de la taille de la chaîne. J'utilise la méthode recommandée pour calculer la hauteur pour chaque étiquette à l'aide: - sizeWithFont: c constrainedToSize: lineBreakMode: UILineBreakModeWordWrap

Mais de l'étiquette se chevauchent les uns les autres. Vous ne savez pas comment positionner ces étiquettes?

Ou y a-t-il une meilleure façon de faire cela?

Merci

+0

J'aimerais voir comment vous construisez votre UITableViewCell. Les hauteurs différentes de tableViewCell sont-elles différentes? Il existe une méthode sur le protocole UITableViewDelegate que vous devez utiliser si vous voulez que vos cellules fonctionnent correctement '- (CGFloat) tableView: heightForRowAtIndexPath:' – Jessedc

Répondre

1

position la première étiquette, obtenir sa taille, puis placer chaque étiquette ultérieure par le cadre de l'étiquette précédente. Par commodité, vous pouvez placer ce code dans une méthode distincte, en l'appelant une seule fois pour générer la hauteur de cette cellule à utiliser dans la méthode de délégation -tableView:heightForRowAtIndexPath:, et avoir ces étiquettes configurées pour la méthode déléguée -tableView:cellForRowAtIndexPath:.

Questions connexes