Pregunta

Esta pregunta es más para fines de desarrollo y nunca ser utilizado para una aplicación de envío. Necesito hacer un UILabel rápida y sucia cuyo campo de texto que se pueden señalar a una, en realidad, de cadena muy larga. Muy largo. Tengo ben futzing en IB y no puedo averiguar el apretón de manos mágica correcta para permitir una UILabel al globo hasta un tamaño muy grande. ¿Alguien tiene alguna idea?

Cheers, Doug

¿Fue útil?

Solución

Puede utilizar un método en el UIKit adiciones a NSString para lograr este objetivo. Se puede obtener el tamaño usando este método :

- (CGSize)sizeWithFont:(UIFont *)font
           minFontSize:(CGFloat)minFontSize
        actualFontSize:(CGFloat *)actualFontSize
              forWidth:(CGFloat)width
         lineBreakMode:(UILineBreakMode)lineBreakMode

Ajuste el tamaño de la etiqueta para el valor de retorno de este método y ya está todo listo.

EDIT: Este método es para las cadenas de una sola línea. Si la cadena es más de una línea, utilice este método :

- (CGSize)sizeWithFont:(UIFont *)font
     constrainedToSize:(CGSize)size
         lineBreakMode:(UILineBreakMode)lineBreakMode
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top