代码之家  ›  专栏  ›  技术社区  ›  Burjua

\n不在UIlabel中工作

  •  7
  • Burjua  · 技术社区  · 16 年前

    我在这里也看到过类似的问题,但仍然能找出它不起作用的原因。

    如何在多行UIlabel中添加换行符(即添加新段落)?

    lbl.numberOfLines = 0;
    lbl.sizeToFit;
    

    但我还是得到了这样的结果:

    谢谢你

    12 回复  |  直到 16 年前
        1
  •  14
  •   joelm    16 年前

    UILabel不尊重\n,可以使用选项return(在Interface builder中)强制在需要换行符的位置。

    (并设置lineBreakMode,如上文AngeDeLaMort所述。)

        2
  •  20
  •   Filip Valentin    13 年前

    这是个老问题,但我只是想让你知道 \r

        3
  •  6
  •   Bhavesh Patel    13 年前

    你可以试试这个:

    lbl.text = @"My \n label";
    lbl.numberofLines = 0;
    
        4
  •  6
  •   patrick-fitzgerald    13 年前

    lbl.lineBreakMode = NSLineBreakByWordWrapping;
    lbl.numberOfLines = 0;
    
        5
  •  3
  •   boreas    15 年前

    实际上,有一种方法可以做到这一点。尝试

        unichar chr[1] = {'\n'};
    NSString *singleCR = [NSString stringWithCharacters:(const unichar *)chr length:1];
        [yourLabel setText:[NSString stringWithFormat:@"new%@line",singleCR]];
    
        6
  •  2
  •   Sauleil    16 年前

    如果你的字符串真的很好,也许你也可以尝试添加这一行:

    lbl.lineBreakMode = UILineBreakModeWordWrap;
    
        7
  •  2
  •   Lytic    9 年前

    \n ,实际上是 \\n 在记忆里。

    我用以下方法解决了这个问题:

    label.text = [rawText stringByReplacingOccurrencesOfString@"\\n" withString:@"\n"];
    

    您仍然需要设置换行模式以及行数,它才能工作。

        8
  •  2
  •   Krishna Kirana    9 年前

    使用 在情节提要中,制作 行数

        9
  •  0
  •   Guntis Treulands    14 年前

    我知道这是个老问题,但我在想-问题可能是 lbl.sizeToFit; ?

    如果你能像CGRectMake(0,0300300)那样设置帧-这能解决问题吗?因为 \n

        10
  •  0
  •   Grigori A.    11 年前
    NSCharacterSet *charSet = NSCharacterSet.newlineCharacterSet;
    NSString *formatted = [[unformatted componentsSeparatedByCharactersInSet:charSet] componentsJoinedByString:@"\n"];
    
        11
  •  0
  •   zfavourite99    8 年前

    UILabel用于\n生成新行\后面需要一个空间。

        12
  •  0
  •   Prashant Tukadiya    8 年前

    选择标签并将类型更改为 平原

    enter image description here

    现在不管你想去哪里 \不 Alt + Enter 你会得到新的线路

    希望对使用interfacebuilder来实现这一点的人有所帮助