2010-07-14 13 views
10

¿Hay alguna manera de autoajustar un UILabel? dado el tamaño 40 x 40, el tamaño de fuente del texto se ajustaría en función del número de caracteres.Autosize UILabel

Respuesta

25

Puede utilizar la propiedad adjustFontSizeToFitWidth. Entonces algo como esto.

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

En Interface Builder hay una casilla de verificación en la pantalla de atributos de etiqueta para que pueda ajustar el tamaño de la fuente para adaptarse a la etiqueta.

+0

gracias por el código de muestra – Yolanda

+0

No hay problema. Lo sentimos, el código de muestra utilizado para leer adjustFontSizeToWidth, pero debe ajustarseFontSizeToFitWidth. Lo corregí. – jergason

+0

Saltee una letra en AdjustS: [myLabel setAdjustsFontSizeToFitWidth: YES]; – beryllium

0

Con el concepto de diseño de autodiseño, no establece restricciones de altura para UILabel y establece no. de líneas como 0.

Autolayout se ocupa automáticamente de la altura dinámica de la etiqueta según el texto de la etiqueta. Si la etiqueta tiene texto de una sola línea, ocupará solo el espacio de una sola línea. Y si la etiqueta tiene más de una línea, cambiará el tamaño de la etiqueta de acuerdo con el tamaño del texto y la cantidad de líneas requeridas para mostrar el texto.

Ref: UILabel - numberOfLines