uiappfonts ttf otf font custom ios objective-c fonts uitextview uifont

ios - ttf - La fuente UITextView es nula



uifont custom font (3)

Debería intentar iniciar self.detailDescriptionLabel . El valor puede ser nulo.

Creé un UITextView con un tamaño de letra de 14 en un guión gráfico y lo conecté a la propiedad detailDescriptionLabel de mi ViewController. Este código está en viewDidLoad:

self.detailDescriptionLabel.font=[UIFont systemFontOfSize:10]; NSLog(@"text is %@; font is %@", self.detailDescriptionLabel.text, self.detailDescriptionLabel.font);

La salida de la consola sigue:

text is Lorem Ipsum; font is (null)

¿Por qué la fuente está configurada como nula? El setFont: está funcionando; la fuente se encoge. Quiero obtener la fuente así que después de un gesto puedo llamar a lineHeight en la fuente. De esta forma, puedo averiguar qué línea se ha tocado con el siguiente código:

int line = [tap locationInView:tap.view].y / self.detailDescriptionLabel.font.lineHeight;

Aquí, también, la fuente es nula. línea se establece en -2147483648, que obviamente no es lo que quiero.


Intente marcar la casilla de verificación "seleccionable" para este UITextView en Interface Builder. Está en el Inspector de Atributos. El comentario de Per @ VahramDodoryan a continuación, puede establecer selectable en falso si no desea admitir la selección.

No puedo explicar por qué funciona, pero probablemente sea un error de UIKit. Tenía una IBOutlet a una UITextView cuya propiedad de fuente era nula, y no respondía a ninguna fuente o cambio de color de texto en el código hasta después de que se hubiera establecido su propiedad de texto. Llegué a esta solución a través de prueba y error.

Si todavía te encuentras con este problema en versiones recientes de iOS, considera abrir un radar:


Traté de cambiar cada propiedad y restricción, que tenía en mi vista de texto.

Incluyendo seleccionable como se sugiere arriba

En la frustración al final lo borré y volví a agregar, y esa fue la solución insatisfactoria.