在TTTAttributedLabel
,\r\n
中被算作 2 个行尾,而它应该只有一个。UILabel 正确处理这种情况。
示例:这是字符串@"Line 1\r\nLine 2"
。上一个是TTTAttributedLabel
,下一个是UILabel
Xcode 项目文件:http ://tinywhale.net/TestProject.zip
知道如何让 TTTAttributedLabel 在这种情况下表现得像 UILabel 吗?
在TTTAttributedLabel
,\r\n
中被算作 2 个行尾,而它应该只有一个。UILabel 正确处理这种情况。
示例:这是字符串@"Line 1\r\nLine 2"
。上一个是TTTAttributedLabel
,下一个是UILabel
Xcode 项目文件:http ://tinywhale.net/TestProject.zip
知道如何让 TTTAttributedLabel 在这种情况下表现得像 UILabel 吗?
我相信你确切地知道问题出在哪里。我也和你在一起,我遭受了同样的原因。将近两个星期,我试图解决这个问题。谷歌搜索并查看 Apple 的文档并查看 stackoverflow,我到处查看,无法得到明确的答案。在 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];
其实@"Line 1\r\n Line 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
上面可以看到,模拟器和设备\r的处理是不同的。为此,我做了很多努力。我不知道具体是什么,armv7和i386处理的区别。但我认为如果一个错误或一种 NSString 和 NSAttributedString 也认为这些关系。
我的回答是为了解决您的问题,我真的希望它对您有所帮助。