开发者

Use line breaks of retrieved NSString

开发者 https://www.devze.com 2023-01-29 10:55 出处:网络
I retrieve an NSString from a Property list and display it in a UILabel. The NSString already includes \\n s, however the UILabel just displays them as tex开发者_开发技巧t. How can I tell the UILabel

I retrieve an NSString from a Property list and display it in a UILabel. The NSString already includes \n s, however the UILabel just displays them as tex开发者_开发技巧t. How can I tell the UILabel to actually use the \n s as line breaks?


Everything you type into a plist in the plist editor is interpreted as plain text. Try it... put a ' into a field and right click -> view as "plain text" and you'll see it substitutes it for '. Therefore you can't put \n into a plist because it thinks you're just typing text and will treat it as such. Instead of putting \n into your plist use Alt+Enter to get your newline. If you view this as a text file now you'll see \ns printed and new lines acctually shown in the text file.

Now when you output it it won't display \n it will just give it a new line.

Plus, as has been mentioned UITextField is only one line anyway and you probably would benefit from using UITextView.


Well, first, you are going to need a string that you can modify. To accomplish that, you can simply do:

NSMutableString* correctedPath = [path mutableCopy];

At that point, you can use -insertString:atIndex: to insert any characters you need.


You're using the wrong class here.

UITextField doesn't (for all that I know) support multi-line input. For that, you will need a UITextView (it has editing enabled by default). It should interpret \n's without any problems. It also has a lineBreakMode property, if you want to make use of that.

0

精彩评论

暂无评论...
验证码 换一张
取 消