关于UILabel换行的另一个问题

Bur*_*jua 0 xml vb.net iphone objective-c line-breaks

我在UILabel的线路突破中苦苦挣扎.我在vb.net中生成xml,然后在iPhone应用程序中解析它.xml包含最初包含html标签的文本
,因此我可以并且需要用某些东西替换这些标签以在iphone中添加换行符

我该怎么做?我试过了\n,\n\r他们不工作了

任何帮助将不胜感激

谢谢

Al-*_*ani 6

如果从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;
Run Code Online (Sandbox Code Playgroud)

所以你必须用硬编码的NSString中的解析后的\n替换字符串中未解析的\n部分.

这是我的其他标签设置:

myLabel.numberOfLines = 0;
myLabel.backgroundColor = [UIColor clearColor];
myLabel.textColor = [UIColor redColor]; 
myLabel.font = [UIFont fontWithName:@"Helvetica Neue" size:14.0];   
myLabel.textAlignment = UITextAlignmentCenter;
Run Code Online (Sandbox Code Playgroud)

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

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

希望这可以帮助,