Question

J'ai deux largeurs possibles pour une chaîne que je veux afficher dans une étiquette dans une cellule de tableau et j'ai besoin de calculer la hauteur pour que la hauteur de la cellule de tableau soit correctement enregistrée. Cependant, peu importe ce que je fais pour la taille contraignante, j'obtiens la même hauteur, ce qui est incorrect dans le cas que je veux. Le code que j'utilise:

CGFloat width = 300.0f;
NSString * value = @"LongText LongText LongText LongText LongText LongText";
CGSize contentSize = [value sizeWithFont: [UIFont systemFontOfSize: 14.0f]
                       constrainedToSize: CGSizeMake(width, CGFLOAT_MAX)
                           lineBreakMode: UILineBreakModeWordWrap];

Lorsque j’inspecte la variable contentSize, la largeur est 252 et la hauteur 36, ce qui est attendu. Mais si, au lieu de 300.0fi, insérez 222.0f dans la variable width, la largeur est 189 mais la hauteur est toujours 36, et seuls les 4 premiers mots LongText sont affichés sur 2 lignes (la troisième ligne semble être coupée calcul). Quelqu'un sait-il pourquoi cela se produit?

Était-ce utile?

La solution

Votre code a l'air correct. Regardez ici et ici . pour voir s'il y a quelque chose qui cloche dans votre code.

Autres conseils

Il s'avère que la taille correcte est renvoyée. le code sur lequel je travaillais utilisait des largeurs incorrectes au lieu des largeurs de cette méthode, c’est pourquoi le texte a été coupé et j’ai confondu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top