Estoy cargando un texto de ayuda de un plist y mostrando el mismo en forma de UILabels alojado en un UIScrollView. Parte del código de la siguiente manera:Saltos de línea que no funcionan en UILabel
UILabel *sectionDetailLabel = [[[UILabel alloc] initWithFrame:CGRectMake(34, myOriginForThisSection, 286, 20)] autorelease];
sectionDetailLabel.backgroundColor = [UIColor clearColor];
sectionDetailLabel.numberOfLines = 0;
sectionDetailLabel.font = [UIFont systemFontOfSize:12];
sectionDetailLabel.textColor = [UIColor blackColor];
sectionDetailLabel.textAlignment = UITextAlignmentLeft;
sectionDetailLabel.lineBreakMode = UILineBreakModeWordWrap;
[baseScrollView addSubview:sectionDetailLabel];
[sectionDetailLabel setText:myStringForThisSection];
[sectionDetailLabel sizeToFit];
Mientras que cualquier texto 'largo' se está envuelto en varias líneas correctamente, no soy capaz de insertar manualmente los saltos de línea utilizando nueva línea '\ n' personajes 'myStringForThisSection '. Solo veo los caracteres '\' e 'n' impresos en UILabel donde quiera que sea el salto de línea.
He buscado esto y el consenso general parece ser que establecer numberOfLines en 0, establecer lineBreakMode en un valor válido e invocar sizeToFit (o establecer el marco de UILabel basado en sizeWithFont :) debería hacer. Todo lo que parece que estoy haciendo en el código anterior, y funciona perfectamente al ajustar largas cadenas de longitud desconocida en múltiples líneas en el UILabel. Entonces, ¿qué podría faltar aquí?
Nota: Todas las variables utilizadas - baseScrollView, myStringForThisSection y myOriginForThisSection - se cargaron antes de que el código anterior comenzara a ejecutarse, y funcionan bien.
Si la cadena proviene de una fuente externa, esto sucederá. Si se declara/crea en el código (posiblemente incluso en un plist), la nueva línea se codificará como tal. Sin embargo, una línea nueva debe ir seguida de espacio, si esa línea es una línea en blanco. –