2010-12-09 5 views
0

Je récupère un NSString d'une liste de propriétés et l'affiche dans un UILabel. Le NSString inclut déjà \n s, cependant le UILabel ne fait que les afficher sous forme de texte. Comment puis-je dire au UILabel d'utiliser effectivement les \n comme sauts de ligne?Utiliser les sauts de ligne de NSString récupérés

+0

Votre question est trop vague. Où les sauts de ligne doivent-ils être insérés? Vous voudrez probablement utiliser 'stringByReplacingOccurrencesOfString: withString:' de NSString, ou l'une des autres méthodes de remplacement de sous-chaîne, mais au-delà, nous ne pouvons pas vraiment vous aider sans en savoir plus. Notez que pour "insérer" des chaînes, vous pouvez utiliser 'stringByReplacingCharactersInRange: withString:' en utilisant une plage de longueur nulle à la bonne position. – d11wtq

+0

Que remplacerais-je 'les occurrencesOfString' ou les' charactersInRange'? – fabian789

+0

'@" \ n "' est un saut de ligne, si c'est ce que vous demandez? – d11wtq

Répondre

2

Tout ce que vous tapez dans un plist dans l'éditeur de plist est interprété comme du texte brut. Essayez-le ... mettez un ' dans un champ et faites un clic droit -> voir en "texte brut" et vous verrez qu'il le remplace par '. Vous ne pouvez donc pas mettre \ n dans un plist parce qu'il pense que vous tapez du texte et le traitera comme tel. Au lieu de mettre \ n dans votre plist utilisez Alt + Enter pour obtenir votre nouvelle ligne. Si vous affichez ce fichier en tant que fichier texte, vous verrez maintenant les lignes imprimées et les nouvelles lignes affichées dans le fichier texte.

Maintenant, lorsque vous l'éditez, il ne s'affichera pas \ n il va juste lui donner une nouvelle ligne. De plus, comme cela a été mentionné, UITextField n'est qu'une ligne et vous devriez probablement utiliser UITextView.

+0

Aaaa ... aurait été aussi simple ... merci! – fabian789

+0

pas de soucis :) :) –

0

Eh bien, tout d'abord, vous allez avoir besoin d'une chaîne que vous pouvez modifier. Pour ce faire, vous pouvez simplement faire:

NSMutableString * correctedPath = [path mutableCopy]; À ce stade, vous pouvez utiliser -insertString: atIndex: pour insérer les caractères dont vous avez besoin.

0

Vous utilisez la mauvaise classe ici.

UITextField ne pas (pour tout ce que je sais) soutenir l'entrée multi-ligne. Pour cela, vous aurez besoin d'un UITextView (il a l'édition activée par défaut). Il devrait interpréter \n sans aucun problème. Il a également une propriété lineBreakMode, si vous voulez utiliser cela.

+0

Je suis désolé, je voulais dire en fait dire 'UILabel', pas' UITextField' .... – fabian789

Questions connexes