NSString с \ n или переводом строки - PullRequest
99 голосов
/ 17 марта 2010

Кто-нибудь знает, как использовать разрывы строк в NSString? Мне нужно сделать что-то вроде этого -

[NSString stringWithFormat:@"%@,\n%@", mystring1,mystring2];

Ответы [ 10 ]

176 голосов
/ 08 апреля 2011

Я только что столкнулся с той же проблемой при перегрузке описания для подкласса NSObject. В этой ситуации я смог использовать возврат каретки (\ r) вместо новой строки (\ n), чтобы создать разрыв строки.

[NSString stringWithFormat:@"%@\r%@", mystring1,mystring2];

32 голосов
/ 28 апреля 2011

Если ваша строка идет в UIView (например, UILabel), вам также нужно установить количество строк равным 0

myView.numberOfLines=0;
24 голосов
/ 14 августа 2014

Я обнаружил, что при чтении строк из файла .plist вхождения "\n" были проанализированы как "\\n". Решением для меня было заменить "\\n" на "\n". Например, учитывая экземпляр NSString с именем myString, считанный из моего файла .plist, мне пришлось позвонить ...

myString = [myString stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"];

... перед тем, как присвоить его моему UILabel экземпляру ...

myLabel.text = myString;
12 голосов
/ 10 января 2014
NSString *str1 = @"Share Role Play Photo via Facebook, or Twitter for free coins per photo.";
NSString *str2 = @"Like Role Play on facebook for 50 free coins.";
NSString *str3 = @"Check out 'What's Hot' on other ways to receive free coins";


NSString *msg = [NSString stringWithFormat:@"%@\n%@\n%@", str1, str2, str3];
8 голосов
/ 22 февраля 2014

попробуйте это (stringWithFormat должен начинаться со строчной буквы)

 [NSString stringWithFormat:@"%@\n%@",string1,string2];
2 голосов
/ 25 ноября 2014

Символ разрыва строки для NSString равен \ r

правильный способ использования [NSString StringWithFormat:@"%@\r%@",string1,string2];

r ----> возврат каретки

2 голосов
/ 03 октября 2013

\ n \ r, кажется, работает на меня.

Я использую Xcode 4.6 с IOS 6.0 в качестве цели. Проверено на iPhone 4S. Попробуйте сами.

Фен Чиу

0 голосов
/ 04 апреля 2018

В случае, если \ n или \ r не работает и если вы работаете с uiwebview и пытаетесь загрузить html, используя тег
для вставки новой строки. Не просто используйте тег
в NSString stringWithFormat.

Вместо этого используйте то же самое, добавляя. т.е. с помощью stringByAppendingString

 yourNSString = [yourNSString stringByAppendingString:@"<br>"];
0 голосов
/ 18 марта 2017

В Swift 3 все гораздо проще

let stringA = "Terms and Conditions"
let stringB = "Please read the instructions"

yourlabel.text =  "\(stringA)\n\(stringB)"

или если вы используете textView

yourtextView.text =  "\(stringA)\n\(stringB)"
0 голосов
/ 16 августа 2016

\n является предпочтительным способом разрыва строки. \r тоже будет работать. \n\r или \r\n излишни и могут вызвать проблемы позже. Какао, имеет специальные символы абзаца и разрыва строки для конкретного использования NSParagraphSeparatorCharacter, NSLineSeparatorCharacter. Здесь - мой источник всего вышеперечисленного.

...