2011-05-18 15 views
13

estoy usando la propiedad minimumFontSizeUITextField mínimo tamaño de fuente

textField.font = [UIFont boldSystemFontOfSize:17]; 
textField.textColor = [UIColor darkGrayColor]; 
textField.minimumFontSize = 10; 
textField.adjustsFontSizeToFitWidth = YES; 

Pero el texto nunca va al tamaño de letra mínimo de 10, que se trunca, pero si cambio de la corriente fontSize a 10, aparece todo el texto correctamente. ¿Estoy usando esta propiedad mal?

Respuesta

0

La fuente se truncará hasta el tamaño de fuente mínimo. Para experimentar con esto, arrastre un UILabel en Interface Builder, establezca las propiedades allí y cambie el ancho de UILabel para ver el efecto.

+0

Pero está usando la propiedad correctamente tal como lo entiendo. –

+0

Sí, ese es el efecto esperado, pero tengo un UITextField en una UITableViewCell, que el texto nunca llega al tamaño mínimo. Puedo ver que el texto se vuelve más pequeño a medida que escribo, pero no lo suficientemente pequeño como para llegar al tamaño mínimo – John

+0

Debería hacerlo. ¿Lo has vinculado correctamente? O podrías intentar configurarlo en IB. –

15

Tan tarde como sea ... usted estaba configurando su UITextField correctamente, y adjustsFontSizeToFitWidth funciona en general, pero creo que iOS está siendo poco inteligente.

Parece texto en un UITextField no se reducirá automáticamente más allá de 14 pts * - no importa si se establece minimumFontSize a menos de ese valor, tales como su petición razonable de 10 pts.

Un UITextField con:

  • Tamaño de fuente 17, mínimo 15 pasará a un 15 si es necesario
  • Tamaño de fuente 17, mínimo 10 será solamente bajar a 14
  • Tamaño de la fuente 13, mínimo 4 se quedará en 13

esto se comprueba mediante la comparación de lado tres UITextField s a lado con cadenas de texto demasiado tiempo para ellos, donde el mínimo de letra los tamaños son 13, 14 y 15 respectivamente. Los dos primeros aparecerán exactamente iguales, en 14 puntos.

Parece un número mágico extraño, pero ahí lo tienes. Consideraciones de legibilidad de puño de hierro Supongo que puedes probar adjusting the font size yourself o vivir teniendo minimumFontSize = 14.

* He verificado esto en el IB, pero seguramente se aplicará a los creados programáticamente UITextField s también.

Cuestiones relacionadas