2010-07-14 5 views
10

Existe-t-il un moyen de dimensionner automatiquement un UILabel? étant donné la taille 40 x 40, la taille de la police du texte s'ajusterait en fonction du nombre de caractères.Autosize UILabel

Répondre

25

Vous pouvez utiliser la propriété adjustFontSizeToFitWidth. Donc quelque chose comme ça.

UILabel *myLabel = [[UILabel alloc] init]; 
[myLabel setAdjustsFontSizeToFitWidth:YES]; 

Dans Interface Builder il y a une case à cocher sur l'étiquette Attributs écran pour vous permettre d'ajuster la taille de la police pour adapter l'étiquette ainsi.

+0

merci pour l'exemple de code – Yolanda

+0

Pas de problème. Désolé, l'exemple de code utilisé pour lire adjustFontSizeToWidth, mais il doit être adjustFontSizeToFitWidth. Je l'ai corrigé. – jergason

+0

Vous ignorez une lettre dans AdjustS: [myLabel setAdjustsFontSizeToFitWidth: YES]; – beryllium

0

Avec le concept de conception autolayout, ne définit pas de contraintes de hauteur pour UILabel et ne définissez pas. de lignes comme 0. Autolayout prend automatiquement soin de la hauteur dynamique de l'étiquette selon le texte de l'étiquette. Si l'étiquette a un texte sur une seule ligne, elle n'occupera qu'un seul interligne. Et si l'étiquette a plus d'une ligne, elle redimensionnera l'étiquette en fonction de la taille du texte et du nombre de lignes nécessaires pour afficher le texte.

Ref: UILabel - numberOfLines