J'ai une UITextView
qui prend une NSString
avec un formatage stringWithUTF8String
. Il tire ses valeurs d'une base de données et je souhaite que le texte de la base de données soit restitué avec des ruptures dans le texte. J'ai essayé d'utiliser \n
pour le faire, mais le rendu est sous forme de texte. Faire cela dans ma page d'information de l'application en tant que texte simple a fonctionné, mais je pense que la raison pour laquelle cela ne fonctionne pas lors de son extraction de la base de données est dû au formatage.
Aucune suggestion?
Si vous souhaitez ajouter newline à l'inspecteur-attribut (AI) du storyboard Xcode5/Xcode6, procédez comme suit:
Ou bien, CTRL + Entrée crée une nouvelle ligne.
Vous pouvez maintenant voir l'effet en mode de sortie/mode d'affichage dans le storyboard.
Développer un peu la réponse de tc: quand vous avez des nouvelles lignes dans la chaîne, vous voulez probablement les convertir en \n
(c'est-à-dire, @"\\n"
dans Cocoa) puis enregistrez-les dans la base de données et, lors de l'extraction de la chaîne BACK à partir de la base de données, vous voudrez probablement convertissez ceux-ci en nouvelles lignes. Donc, vous utiliseriez du code comme ceci:
NSString *saveString = [myTextField.text stringByReplacingOccurrencesOfString: @"\n" withString: @"\\n"];
// save it to the db
// ... later ...
NSString *dbString = // get the string from the db.
myTextField.text = [dbString stringByReplacingOccurrencesOfString: @"\\n" withString: @"\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 mis comme ci-dessous dans votre textView ou ce que vous choisissez
Sortie:
Les 7 et 21 janvier
Février: 4, 18,
Mars: 4, 18 etc etc etc
Dans Swift, ajoutez simplement "\ n" entre deux chaînes
Exemple:
let firstString = "Hello"
let secondString = "Senorita"
textview.text = firstString + "\n" + "secondString"
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
UITextView prendra les nouvelles lignes, mais cela ne fonctionnera pas avec les retours de voiture . Vous devrez vous assurer que votre saisie est correcte.
Je l’ai essayé sous l’éditeur IB et j’ai eu quelques problèmes avec au début ..__ Ensuite, j’ai utilisé un éditeur de texte, tapé mon texte puis collé dans l’éditeur IB.
Pour moi, ça a fait l'affaire… .. Votre source provient d'une base de données, je pense donc que les nouvelles lignes sont en réalité des lignes nouvelles, mais que les retours de chariot à la hapha ou autres Vérifiez la chaîne HEX de votre entrée.
Définissez les paramètres keyboardType (UIKeyboardType) et (UIReturnKeyTYpe) returnKeyType
si vous construisez en code.
Si vous utilisez IB, allez simplement au premier panneau d’inspecteur et définissez le TextInputTraits
quand vous obtenez de db. essayer
NSString *content = [mytext stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"];
self.textView.text = content;
si vous recevez le texte sur le Web, assurez-vous de laisser un espace avant et après le /nqui a résolu mon problème
à titre d'exemple (php):
echo $item_detail['item_title']." \n ";