在TTTAttributedLabel
中,\r\n
被计为2行结尾,而它应该只有一行。 UILabel正确处理这种情况。
示例:这是字符串@"Line 1\r\nLine 2"
。最上面一个是TTTAttributedLabel
,下面一个是UILabel
Xcode项目文件:http://tinywhale.net/TestProject.zip
在这种情况下,任何想法如何使TTTAttributedLabel表现得像UILabel?
答案 0 :(得分:1)
我确定你确切知道问题是什么。我也和你在一起,我也遭遇了同样的道理。 差不多两个星期我试着解决这个问题。 谷歌搜索和查看Apple的文档,并查看堆栈溢出,我到处寻找,无法得到一个明确的答案。 在UILabel属性中,“text(NSString)”是\ r \ n,并且仅出现两个连续的\ n仅适用。但是CustomLabel属性“attributedText(NSAttributedString)”是\ r \ n当两个连续应用时。所以我的解决方案\ r \ n和两个连续\ r的出现已被替换为空字符串。
NSString *string = [myString stringByReplacingOccurrencesOfString:@"\r" withString:@""];
NSAttributedString *attributedString = [NSAttributedString attributedStringWithString:string];
事实上,@“第1行\ r \ n第2行”如果你检查NSLog有有趣的事实。
NSLog(@"Line 1\r\nLine 2");
在模拟器中
2012-08-05 23:18:59.170 SimpleTest[30721:707] Line 1
Line 2
在设备中
2012-08-05 23:18:59.170 SimpleTest[30721:707] Line 1
Line 2
如上所示,模拟器和设备的处理是不同的。出于这个原因,我做了很多努力。我不知道究竟是什么,armv7和这是关于i386处理之间的区别。但我觉得 如果一个bug或一种NSString和NSAttributedString也认为这些关系。
我解决问题的答案我真的希望它对你有帮助。