Ajouter un saut de ligne à un UITextView

J’ai un UITextView qui prend un NSSsortingng avec le format ssortingngWithUTF8Ssortingng . Il récupère ses valeurs à partir d’une firebase database et je souhaite que le texte de la firebase database soit rendu avec des interruptions dans le texte. J’ai essayé d’utiliser \n pour ce faire, mais il est rendu sous forme de texte. Cela a fonctionné dans ma page d’informations de l’application, mais je pense que la raison pour laquelle il ne fonctionne pas lorsque vous le retirez de la firebase database est le formatage.

Aucune suggestion?

Si vous voulez append newline dans Xcode5 / Xcode6 Storyboard Atsortingbute-Inspector (AI), procédez comme suit:

  1. Faites glisser un object UITextView.
  2. Double-cliquez dessus pour modifier le texte, placez le curseur à l’endroit où vous souhaitez que le paragraphe soit coupé.
  3. Hit alt-Entrez quelques fois pour créer une ligne vide et un paragraphe.

Ou, CTRL + Retour crée une nouvelle ligne.

Vous pouvez maintenant voir l’effet dans la sortie / mode d’affichage dans le storyboard. entrer la description de l'image ici

Développer la réponse de tc un peu: quand vous avez des nouvelles lignes dans la chaîne, vous voudrez probablement les convertir en \n (c’est-à-dire @"\\n" dans Cocoa), puis sauvegarder dans la firebase database firebase database, vous souhaiterez probablement les reconvertir en nouvelles lignes. Donc, vous utiliseriez du code comme ceci:

 NSSsortingng *saveSsortingng = [myTextField.text ssortingngByReplacingOccurrencesOfSsortingng: @"\n" withSsortingng: @"\\n"]; // save it to the db // ... later ... NSSsortingng *dbSsortingng = // get the ssortingng from the db. myTextField.text = [dbSsortingng ssortingngByReplacingOccurrencesOfSsortingng: @"\\n" withSsortingng: @"\n"]; 

Simplement le ci-dessous:

 { textView.text = @"January: 7th,21st,\n February: 4th,18th,\n March: 4th,18th,\n April: 1st, 15th, 29th, \n May: 13th, 27th, \n June: 10th,24th, \n July: 8th, 22nd, \n August: 5th, 19th, \n September: 2nd, 16th, 30th, \n October: 14th, 28th, \n November: 11th, 25th"; NSLog (@"Recycle Dates for Abbey Way"); } 

sera sorti comme ci-dessous dans votre textView ou ce que vous choisissez

Sortie:

7 janvier 21 janvier
4 février: 18 février
Mars: 4ème, 18ème etc etc

Dans Swift, ajoutez simplement “\ n” entre deux chaînes

Exemple:

 let firstSsortingng = "Hello" let secondSsortingng = "Senorita" textview.text = firstSsortingng + "\n" + "secondSsortingng" 

Je pense que vous devriez essayer d’utiliser “\ r”.

Je l’ai testé sur Xcode 4.2.1, iOS 4.3

Edit: Cela fonctionne également dans iOS 3.0 et iOS 5.1

Un UITextView prendra les nouvelles lignes, mais cela ne fonctionnera pas avec les retours cariage. Vous devrez vous assurer que votre saisie est correcte.

Je l’ai essayé dans l’éditeur de l’IB, et j’ai eu quelques problèmes au début. Ensuite, j’ai utilisé un éditeur de texte, saisi mon texte, puis l’ai collé dans l’éditeur IB.

Cela a fait l’affaire, pour moi. Votre source provient d’une firebase database, donc je pense que les nouvelles lignes sont en réalité des nouvelles lignes, mais des retours chariot ou autres sont possibles. Vérifiez la chaîne HEX de votre entrée.

Définissez le type de clavier (UIKeyboardType) et le type de clé de retour (UIReturnKeyTYpe)

si vous construisez du code.

Si vous utilisez IB, allez simplement au premier panneau d’inspecteur et définissez le TextInputTraits

quand vous obtenez de db. essayer

 NSSsortingng *content = [mytext ssortingngByReplacingOccurrencesOfSsortingng:@"\\n" withSsortingng:@"\n"]; self.textView.text = content; 

si vous obtenez le texte du Web, assurez-vous de mettre un espace avant et après le / n qui a résolu mon problème

comme exemple (php):

 echo $item_detail['item_title']." \n "; 

En développant la réponse d’Olie … Dans Swift, le code pour mettre à jour la chaîne de la firebase database est le suivant:

 let dbSsortingng = // get the ssortingng from the db. myTextField.text = dbSsortingng.ssortingngByReplacingOccurrencesOfSsortingng("\\\\n", withSsortingng: "\n") 

Il m’a fallu un moment pour comprendre, alors j’ai pensé partager.

Vous enregistrez un littéral “\ n” dans la firebase database. Essayez de sauvegarder une nouvelle ligne.