¿Puedo definir un UILabel ampliar para adaptarse a una cantidad arbitraria de texto?
-
16-09-2019 - |
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
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