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.