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

关于UILabel中换行的另一个问题

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

    我在努力解决UILabel的断线问题。 我正在生成xmlvb.net 然后在iPhone应用程序中解析。xml包含最初包含html标记的文本,例如
    ,所以我可以并且需要用一些东西来替换这些标签,以便在iphone中添加换行符

    我该怎么做?我试过了 \n , \n\r ,它们没有工作

    任何帮助都将不胜感激

    2 回复  |  直到 16 年前
        1
  •  3
  •   sha    16 年前

    \n应该起作用。一定要准备好 numberOfLines 到0,然后 lineBreakMode

        2
  •  6
  •   Al-Noor Ladhani    15 年前

    如果从XML文件读取字符串,则此字符串中的换行符\n在UILabel tekst中不起作用。未将\n解析为换行符。

    下面是解决这个问题的小技巧:

    // correct next line \n in string from XML file
    NSString *myNewLineStr = @"\n";
    myLabelText = [myLabelText stringByReplacingOccurrencesOfString:@"\\n" withString:myNewLineStr];
    
    myLabel.text = myLabelText;
    

    因此,您必须用硬编码的NSString中已解析的部分替换字符串中未解析的部分。

    以下是我的其他标签设置:

    myLabel.numberOfLines = 0;
    myLabel.backgroundColor = [UIColor clearColor];
    myLabel.textColor = [UIColor redColor]; 
    myLabel.font = [UIFont fontWithName:@"Helvetica Neue" size:14.0];   
    myLabel.textAlignment = UITextAlignmentCenter;
    

    最重要的是将numberOfLines设置为0(=标签中的行数不受限制)。

    不知道为什么Apple选择不在从XML读取的字符串中解析?

    希望这有帮助,