Adding a line break to a UITextView

Utf 8NsstringUitextviewWhitespace

Utf 8 Problem Overview


I have a UITextView that takes an NSString with formatting stringWithUTF8String. It is getting its values from a database and I want the text in the database to be rendered with breaks within the text. I tried using \n to do this but it gets rendered as text. Doing this in my information page of the app as straight text worked but I think the reason its not working when taking it from the database is because of the formatting.

Any suggestions?

Utf 8 Solutions


Solution 1 - Utf 8

If you want to add newline in Xcode5 / Xcode6 storyboard Attribute-Inspector (AI), you do it this way:

  1. Drag out a UITextView.
  2. Double-click it to edit text, place cursor where you want the paragraph break.
  3. Hit alt-Enter a couple of times to create a blank line & paragraph.

Or, CTRL + Return make a new line.

You can now see the effect into output / View-mode in storyboard.enter image description here

Solution 2 - Utf 8

Expanding tc's answer a bit: when you have newlines in the string, you probably want to convert them to \n (that is, @"\\n" in Cocoa) then save to the database and, on getting the string BACK from the database, you probably want to convert those back to newlines. So you'd use code something like this:

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"];

Solution 3 - Utf 8

Simply the below:

{
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");
    
}

will be out putted as below in your textView or whatever you choose

Output :

January: 7th, 21st,
February: 4th, 18th,
March: 4th, 18th etc etc

Solution 4 - Utf 8

In Swift, just add "\n" between two strings

Example:

let firstString = "Hello"

let secondString = "Senorita"

textview.text = firstString + "\n" + "secondString"

Solution 5 - Utf 8

I think, you should try using "\r".

I have tested it on Xcode 4.2.1, iOS 4.3

Edit: This also works in iOS 3.0 and iOS 5.1

Solution 6 - Utf 8

A UITextView will take the newlines, but it will not work with cariage returns. You will have to make sure your input is correct.

I tried it in the IB editor, and had some troubles with it initially. Then I used a text editor, typed my text and then pasted it into the IB editor.

That did the trick, for me. Your source comes from a database, so I think probaly the newlines are actually newlines, but perhaphs carriage return's or other. Check the HEX string of your input.

Solution 7 - Utf 8

when you get from db. try

NSString *content = [mytext stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"];
self.textView.text = content;

Solution 8 - Utf 8

Set the (UIKeyboardType)keyboardType and (UIReturnKeyTYpe) returnKeyType

if you are building in code.

If you are using IB then just go to the first inspector panel and set the TextInputTraits

Solution 9 - Utf 8

if you are getting the text from web, make sure you put a space before and after the /n that solved my problem

as example (php):

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

Solution 10 - Utf 8

Append a character("\n") in the string

var logs = "this is first Line" self.logs.append(Character("\n")) self.textView.text = self.logs

Solution 11 - Utf 8

Expanding on Olie's answer... In Swift the code for updating the string from the database is:

let dbString = // get the string from the db.
myTextField.text = dbString.stringByReplacingOccurrencesOfString("\\\\n", withString: "\n")

Took me a while to figure out, so thought I would share.

Solution 12 - Utf 8

You're saving a literal "\n" in the database. Try saving a newline.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMark CiceroView Question on Stackoverflow
Solution 1 - Utf 8imtiView Answer on Stackoverflow
Solution 2 - Utf 8OlieView Answer on Stackoverflow
Solution 3 - Utf 8Alex McPhersonView Answer on Stackoverflow
Solution 4 - Utf 8Ravindra KishanView Answer on Stackoverflow
Solution 5 - Utf 8hellangleView Answer on Stackoverflow
Solution 6 - Utf 8LeanderView Answer on Stackoverflow
Solution 7 - Utf 8Tuan PhamView Answer on Stackoverflow
Solution 8 - Utf 8Vivek SharmaView Answer on Stackoverflow
Solution 9 - Utf 8Omar N ShamaliView Answer on Stackoverflow
Solution 10 - Utf 8Deepak SinghView Answer on Stackoverflow
Solution 11 - Utf 8bwaitView Answer on Stackoverflow
Solution 12 - Utf 8tc.View Answer on Stackoverflow