在iOS6中打破了TTTAttributedLabel linebreakmode

时间:2013-03-28 14:25:10

标签: ios nsattributedstring truncation

如果我在TTTAttributedLabel示例应用程序“Espresso”中将linebreakmode设置为截断尾部,看起来它应该是在iOS 5模拟器中,但如果我在iOS 6模拟器中运行应用程序,文本会在第一行之后被截断,尽管文本会出现超过3行。行数设置为零。我错过了什么?在Espresso应用程序中我注意到这种行为后,我可以不再担心我自己的应用程序中代码的破坏。 有什么建议?谢谢!

5 个答案:

答案 0 :(得分:9)

我目前面临同样的问题。在实际设置文本之前尝试设置LineBreakMode。 E.g:

TTTAttributedLabel* descriptionLabel = [[TTTAttributedLabel alloc] initWithFrame:CGRectMake(20, 120, 280, expectedSize.height)];
descriptionLabel.lineBreakMode = UILineBreakModeWordWrap;
descriptionLabel.numberOfLines = 0;
descriptionLabel.text = description;

答案 1 :(得分:1)

iOS 6中的标签和文本视图本身支持归属文本。因此,如果您不需要支持旧版本的iOS,则可以摆脱第三方控制。

答案 2 :(得分:1)

在我的情况下,由于某些原因,下面的代码导致标签只显示一行。删除它有帮助 'self.attributedLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;'

答案 3 :(得分:0)

奇怪的是问题解决了。我无法弄清楚为什么这个特殊问题会在iOS6模拟器上发生,但现在它适用于iOS6设备和模拟器上的NSLineBreakTailTruncation。

感谢您的回复!

答案 4 :(得分:-1)

你可以尝试一下。

NSMutableAttributedString * mutableAttributedString = [[NSMutableAttributedString alloc]initWithString:text]; [self.attributedLabel setText:mutableAttributedString afterInheritingLabelAttributesAndConfiguringWithBlock:nil];