关于UILabel换行的另一个问题

时间:2010-08-09 17:55:52

标签: iphone objective-c xml vb.net line-breaks

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

我该怎么办?我尝试了\n\n\r,他们无法正常工作

任何帮助将不胜感激

谢谢

2 个答案:

答案 0 :(得分: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;

所以你必须用硬编码的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;

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

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

希望这有帮助,

的Al

答案 1 :(得分:3)

\ n应该有效。确保将numberOfLines设置为0,将lineBreakMode设置为适合您的内容。