2012-10-02 30 views
5

Tengo un cuadro de vista de texto y quiero que ese rectángulo permanezca del mismo tamaño mientras que el texto dentro de autoshrink se ajusta al cuadro. La razón por la que necesito esto es porque el texto se extrae de un plist y las cadenas tienen longitudes diferentes. Las etiquetas tienen una función de corrección automática, que es exactamente lo que quiero, pero no puedo encontrar la manera ni siquiera a través del código de obtener una vista de texto para hacer lo mismo. ¡Por favor ayuda!Xcode cómo autoencoger una UITextView?

+0

¿Por qué necesita 'UITextView'? ¿Por qué no puedes usar 'UILabel'? – Nekto

+0

UILabels son solo una línea, centrada en el medio. Cuando cargué el texto de NSDictionary, se reduce el texto a letra pequeña y luego agrega un "..." al final, pero el texto sigue siendo solo una línea. Quiero que el texto llene todo el cuadro (aproximadamente el tamaño completo de la pantalla). – robertfiorentino

Respuesta

2

UILabel s puede tener más de una línea de texto. Sólo tiene que establecer lo siguiente:

label.lineBreakMode = UILineBreakModeWordWrap; 
label.numberOfLines = 0; // 0 = unlimited number of lines, set to another number to have that as maximum 

No estoy del todo seguro de si esto funciona, pero luego se puede combinar esto con label.adjustsFontSizeToFitWidth = YES; tener una etiqueta de varias líneas que autoshrinks texto.

+1

Esto funcionó, gracias. Una buena solución, pero me gustaría poder hacerlo en Text View. – robertfiorentino

+1

La línea se rompe pero ajustaFontSizeToFitWidth no funciona con varias etiquetas forradas. – robertfiorentino

Cuestiones relacionadas