Je charge du texte d'aide à partir d'une plist et l'affiche sous forme de UILabels dans un UIScrollView. Partie du code suit:Les sauts de ligne ne fonctionnent pas dans 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];
Alors que tout caractère « long » texte s'enveloppé dans plusieurs lignes correctement, je ne parviens pas à insérer manuellement les sauts de ligne à l'aide de saut de ligne « \ n » dans « myStringForThisSection '. Je ne vois que les caractères '\' et 'n' imprimés dans l'UILabel à la place où je voulais faire le saut de ligne. J'ai regardé ceci et le consensus général a semblé être que le paramètre numberOfLines à 0, en définissant lineBreakMode à une valeur valide et en invoquant sizeToFit (ou en définissant le cadre de l'UILabel basé sur sizeWithFont :) devrait faire. Tout ce que je semble faire dans le code ci-dessus - et fonctionne parfaitement lors de l'insertion de longues chaînes de longueur inconnue dans plusieurs lignes sur le UILabel. Alors qu'est-ce qui pourrait manquer ici?
Remarque: Toutes les variables utilisées - baseScrollView, myStringForThisSection et myOriginForThisSection - ont été chargées avant l'exécution du code ci-dessus et fonctionnent correctement.
Si la chaîne provient d'une source externe, cela se produira. Si elle est déclarée/créée dans le code (peut-être même éventuellement dans un plist), le retour à la ligne sera codé comme tel. Une nouvelle ligne doit être suivie d'espace, si cette ligne est une ligne vide, cependant. –