J'ai une cellule de table personnalisée qui contient un certain nombre de UILabels. À l'exécution, j'ajuste la hauteur des étiquettes pour qu'elles correspondent à leur contenu en utilisant sizeWithFont:constrainedToSize:lineBreakMode:
et en les repositionnant en conséquence. La dernière étiquette de la cellule contient une grande quantité de texte, l'amenant à s'enrouler, et j'ai un problème très étrange. Bien que l'appel sizeWithFont
renvoie la taille correcte, et que je mets le cadre UILabel à cette hauteur, il dessine quelques lignes courtes. Cette capture d'écran illustre ce dont je parle:UILabel inside Personnalisé UITableViewCell ne dessine pas à la bonne taille
Dans cet exemple, la hauteur du bloc plein de texte doit être 90 (comme vérifié dans Interface Builder), et qui est ce qui revient de sizeWithFont
. C'est aussi la hauteur à laquelle est définie la frame de UILabel, que j'ai vérifiée en enregistrant et aussi en arrêtant l'exécution et en inspectant la valeur. Cependant, comme vous pouvez le voir, il est évident que dessine les 90 pixels de haut, bien que l'espace soit correctement alloué (la fine ligne noire au-dessus de 'Edité' est la bordure de la cellule du tableau). Je suis complètement perplexe. Si quelqu'un peut donner un aperçu de la raison pour laquelle il se comporte de cette façon, je serais très reconnaissant.
Progrès: cela arrive parce que le La hauteur de la cellule définie dans IB est supérieure à la hauteur réelle retournée par heightForRowAtIndexPath. Quand la cellule est écrasée, il semble qu'il y ait une coupure du UILabel le plus bas. –
Voir ma réponse sur le [même sujet] (http://stackoverflow.com/questions/129502/how-do-i-wrap-text-in-a-alignableviewcell-without-a-custom-cell/905565#905565). –
Cette réponse décrit très bien toutes les choses que je fais déjà :-) –