En iOS 5.UILabel y numberOfLines y sizeToFit:
que tienen un elemento UILabel que se coloca inicialmente en una punta. Quiero que la ubicación x permanezca fija. Quiero que tome 1 línea o 2 líneas. Si hay más de dos líneas, debe usar la configuración de salto de línea para mostrar las elipsis.
utilizo numberOfLines
propiedad y -sizeToFit
Si fijo la propiedad del UILabel numberOfLines
a 0, se va a ver correctamente que de algún texto, no hay suficiente espacio y se ajustará a una segunda línea después de llamar -sizeToFit
pero en el raro caso de que la línea sea lo suficientemente larga como para estirar a 3 líneas, obtengo tres líneas, que no quiero. Si configuro la propiedad numberOfLines
en 2, en realidad estira todo en una línea y alarga mi marco inicial en la punta para que sea mucho más ancho.
CGRect titleFrame = [[self titleLabel] frame];
[[self titleLabel] setNumberOfLines:0];
[[self titleLabel] setText:newProductTitleText];
[[self titleLabel] sizeToFit];
CGRect newTitleFrame = [[self titleLabel] frame];
El CGRect está allí para que yo pueda calcular cosas después del hecho. Por lo tanto, establecer numberOfLines
en 0 funciona, y no cambiará el original.x original en el marco, y dividirá el texto largo en varias líneas, pero no lo restringirá a 2 líneas. Configuración numberOfLines
propiedad a 2, que, cuando leí la documentación de Apple
Esta propiedad controla el número máximo de líneas hay que utilizar con el fin de ajustar el texto de la etiqueta en su rectángulo delimitador. El valor predeterminado para esta propiedad es 1. Para eliminar cualquier límite máximo y usar tantas líneas como sea necesario, establezca el valor de esta propiedad en 0.
Parece que debería ser capaz de establecer esto en dos y aún haz que funcione Yo esperaría sizeToFit
de ampliar en un positivo X y dirección Y cuando se expande para adaptarse a todo el texto, sino que se expande en una dirección X negativa cuando numberOfLines
se establece en distinto de 0.
ETA: los puntales "de tamaño automático" son establecer en la parte superior e izquierda para arreglarlo en un min x, y.
Gracias por cualquier idea.
Creo que este hilo puede ayudar a http://stackoverflow.com/questions/5041874/uilabels-sizetofit-sizethatfits-ignore-the-numberoflines-property/13786846 # 13786846 –
Esta es una pregunta antigua, y probablemente no relevante para iOS actual, pero no veo cómo es un duplicado. Leí la pregunta que se afirma que es un duplicado y es una pregunta diferente.Éste pregunta acerca de la X negativa establecida por '-sizeToFit' y no sobre la alineación vertical del texto en un UILabel. – chadbag