2011-11-21 9 views
8

Tengo una aplicación que permite al usuario utilizar el gesto de pellizco para escalar la etiqueta ¿Cómo puedo cambiar el tamaño de fuente de acuerdo con el nuevo tamaño de marco para que la fuente quepa en el rectángulo del cuadro?Establecer el tamaño de letra UILabel de acuerdo con su tamaño de marco?

Mi paso actual es solo establecer la etiqueta con nueva transformación, y el texto se verá borroso si la etiqueta es demasiado pequeña/grande. Quiero asegurarme de que la etiqueta pueda mostrar claramente el texto donde el texto puede tener el tamaño máximo de acuerdo con el nuevo rectángulo del cuadro.

Respuesta

35
myLabel.adjustsFontSizeToFitWidth = YES; 

Si está utilizando InterfaceBuilder, marque "Autoshrink" para la etiqueta.

Asegúrese de que el "Tamaño mínimo" no sea demasiado grande.

+1

Como quiero dejar que el usuario pellizque el tamaño como quiera, establezco el tamaño de fuente en 300 cuando se inicia. Pero el texto parece no ser suave cuando la etiqueta es pequeña. El código que tengo: \t [label setText: text]; \t [label setTextColor: color]; \t [label setFont: font]; // font tiene configurada el tamaño 300 \t [label setNumberOfLines: 1]; \t [label setMinimumFontSize: 5]; \t [label setAdjustsFontSizeToFitWidth: YES]; – Hanon

+1

Obviamente, habría un límite de fuentes. Después de cierto nivel, no será mucho más suave, ya que se ven en la vista normal. De lo contrario, estoy de acuerdo con la respuesta de Sanjay. Supongo que esa es la única forma. – Mrunal

Cuestiones relacionadas