Sto caricando del testo di aiuto da un plist e visualizzando lo stesso nel formato di UILabels ospitato in un UIScrollView. Parte del codice segue:Interruzioni di riga non funzionanti in 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];
Mentre qualsiasi testo 'lunga' è sempre avvolto correttamente in più righe, io sono in grado di inserire manualmente le interruzioni di linea con a capo '\ n' caratteri 'myStringForThisSection '. Vedo invece i caratteri '\' e 'n' stampati nella UILabel ovunque io volessi l'interruzione di riga, invece.
Ho esaminato questo aspetto e il consenso generale sembrava essere l'impostazione numeroOfLines a 0, impostando la rigaBreakMode su un valore valido e invocando sizeToFit (o impostando il frame di UILabel basato su sizeWithFont :) dovrebbe fare. Tutto ciò che mi sembra di fare nel codice qui sopra - e funziona perfettamente quando si adattano lunghe stringhe di lunghezza sconosciuta in più righe su UILabel. Quindi cosa potrebbe mancare qui?
Nota: tutte le variabili utilizzate - baseScrollView, myStringForThisSection e myOriginForThisSection - sono state caricate prima dell'inizio dell'esecuzione del codice precedente e funzionano correttamente.
Se la stringa proviene da una fonte esterna, questo accadrà. Se è dichiarato/creato nel codice (forse anche in un plist), la nuova riga sarà codificata come tale. Una linea di principio deve essere seguita dallo spazio, se quella linea è una linea vuota, però. –