带有\ n或换行符的NSString

时间:2010-03-17 01:00:27

标签: objective-c nsstring newline

有谁知道如何在NSString中使用换行符?我需要做这样的事情 -

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

10 个答案:

答案 0 :(得分:175)

我在为NSObject的子类重载-description时遇到了同样的问题。在这种情况下,我能够使用回车符(\ r)而不是换行符(\ n)来创建换行符。

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

答案 1 :(得分:32)

如果您的字符串是在UIView中(例如UILabel),您还需要将行数设置为0

myView.numberOfLines=0;

答案 2 :(得分:24)

我发现当我从.plist文件中读取字符串时,"\n"的出现次数被解析为"\\n"。我的解决方案是用"\\n"替换"\n"的出现次数。例如,如果从我的NSString文件中读入名为myString的{​​{1}}实例,则必须致电...

.plist

...然后将其分配给我的myString = [myString stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"]; 实例...

UILabel

答案 3 :(得分:12)

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

答案 4 :(得分:8)

试试这个(stringWithFormat必须以小写字母开头)

 [NSString stringWithFormat:@"%@\n%@",string1,string2];

答案 5 :(得分:2)

\ n \ rr似乎对我有用。

我使用Xcode 4.6和IOS 6.0作为目标。在iPhone 4S上测试过。自己尝试一下。

冯秋晖

答案 6 :(得分:2)

NSString的换行符是\ r

使用[NSString StringWithFormat:@"%@\r%@",string1,string2];

的正确方法

\ r ---- - >回车

答案 7 :(得分:0)

\n是打破一条线的首选方式。 \r也会奏效。 \n\r\r\n过度使用可能会导致您稍后出现问题。 Cocoa具有特定用途NSParagraphSeparatorCharacterNSLineSeparatorCharacter的特定段落和换行符。 Here是上述所有内容的来源。

答案 8 :(得分:0)

在Swift 3中,它更简单

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

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

或者如果您使用的是textView

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

答案 9 :(得分:0)

如果\ n或\ r \ n不起作用,并且您正在使用uiwebview并尝试使用<加载html br>标记以插入新行。不要只使用< br> NSString stringWithFormat中的标记。

而是通过追加使用相同的。即使用stringByAppendingString

 yourNSString = [yourNSString stringByAppendingString:@"<br>"];