带\ n或换行符的NSString

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

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

当我重载了NSObject的一个子类的描述时,我碰到了同样的问题。 在这种情况下,我能够使用回车符(\ r)而不是换行符(\ n)来创build换行符。

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

如果你的string是在一个UIView(例如一个UILabel),你也需要设置行数为0

 myView.numberOfLines=0; 

我发现,当我从.plist文件中读取string时, "\n"被parsing为"\\n" 。 我的解决scheme是用"\n"replace"\\n"出现。 例如,给定从我的.plist文件读取名为myStringNSString实例,我不得不打电话给…

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

…在将其分配给我的UILabel实例之前…

 myLabel.text = myString; 
 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]; 

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

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

\ n \ r似乎为我工作。

我使用iOS 6.0的Xcode 4.6作为目标。 testingiPhone 4S。 自己尝试一下。

冯秋

NSString的换行符是\ r

正确的方法来使用[NSString StringWithFormat:@"%@\r%@",string1,string2];

\ r —->回车

\n是打破一条线的首选方法。 \r也会工作。 \n\r\r\n是矫枉过正的,并可能在稍后导致您的问题。 cocoa,具有特定段落和换行符的特定用途NSParagraphSeparatorCharacterNSLineSeparatorCharacter 。 这是我所有上述的来源。

在Swift 3中,它简单得多

 let stringA = "Terms and Conditions" let stringB = "Please read the instructions" yourlabel.text = "\(stringA)\n\(stringB)" 

或者如果你使用的是一个textView

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