【问题标题】:NSString with \n or line break带有 \n 或换行符的 NSString
【发布时间】:2011-01-28 09:24:19
【问题描述】:

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

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

【问题讨论】:

  • 你真的试过这个吗?因为如果你有,你就会得到你的答案。
  • 不,它没有用。我看到 \n 附加到字符串,但是当它呈现时,它在同一行。
  • 请确保您显示的此 NSString 类型消息不使用 HTML 支持。如果使用 HTML 支持,则不会处理 \n 。希望我有帮助。谢谢,阿比

标签: objective-c nsstring newline


【解决方案1】:

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

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

【讨论】:

  • 完美!请注意,在第一个 %@ 之后有一个不需要的逗号
  • @OMGPOP,请注意,对于 iOS 开发,您还需要在下面查看我的答案。
  • 完美为我工作,非常感谢分享这个。
【解决方案2】:

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

myView.numberOfLines=0;

【讨论】:

    【解决方案3】:

    \n\r 似乎对我有用。

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

    冯超

    【讨论】:

    • 这不是一个答案..请把这些写在 cmets 中。
    【解决方案4】:
    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];
    

    【讨论】:

      【解决方案5】:

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

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

      【讨论】:

        【解决方案6】:

        我发现当我从.plist 文件中读取字符串时,"\n" 的出现被解析为"\\n"。我的解决方案是将出现的"\\n" 替换为"\n"。例如,给定从我的.plist 文件中读取的名为myStringNSString 实例,我必须调用...

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

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

        myLabel.text = myString;
        

        【讨论】:

        • 这是我的确切情况,阿迪尔。感谢您的回答!
        【解决方案7】:

        NSString 的换行符是 \r

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

        \r ---->回车

        【讨论】:

        • "StringWithFormat" 无效;它应该是“stringWithFormat”(必须以小写's'开头)
        【解决方案8】:

        \n 是换行的首选方式。 \r 也可以。 \n\r\r\n 太过分了,可能会导致您以后出现问题。 Cocoa,具有特定用途的特定段落和换行符NSParagraphSeparatorCharacterNSLineSeparatorCharacterHere 是我以上所有内容的来源。

        【讨论】:

          【解决方案9】:

          在 Swift 3 中,它要简单得多

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

          或者如果你使用的是 textView

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

          【讨论】:

          • Post 是专门为 Objective-C 标记的。
          【解决方案10】:

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

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-11-15
            • 2013-12-02
            • 1970-01-01
            • 1970-01-01
            • 2012-08-03
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多