如果我在 TTTAttributedLabel 示例应用程序“Espresso”中将 linebreakmode 设置为截断尾部,一切看起来都应该在 iOS 5 模拟器中,但如果我在 iOS 6 模拟器中运行应用程序,则文本在第一行之后被截断,尽管文本超过 3 行. 行数设置为零。我错过了什么?在我注意到 Espresso 应用程序中的这种行为后,我可以不再担心我自己的应用程序中代码的损坏。有什么建议么?谢谢!
5 回答
我目前面临同样的问题。在实际设置文本之前尝试设置 LineBreakMode。例如:
TTTAttributedLabel* descriptionLabel = [[TTTAttributedLabel alloc] initWithFrame:CGRectMake(20, 120, 280, expectedSize.height)];
descriptionLabel.lineBreakMode = UILineBreakModeWordWrap;
descriptionLabel.numberOfLines = 0;
descriptionLabel.text = description;
iOS 6 中的标签和文本视图原生支持属性文本。因此,如果您不需要支持旧版本的 iOS,您可以摆脱 3rd 方控制。
就我而言,由于某种原因,以下代码导致标签仅显示一行。删除它有助于' self.attributedLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;'
奇怪的是问题自己解决了。我无法弄清楚为什么这个特殊问题会发生在 iOS6 模拟器上,但现在它可以与 iOS6 设备和模拟器上的 NSLineBreakTailTruncation 一起使用。
谢谢您的反馈!
你可以试一试。
NSMutableAttributedString * mutableAttributedString = [[NSMutableAttributedString alloc]initWithString:text];
[self.attributedLabel setText:mutableAttributedString afterInheritingLabelAttributesAndConfiguringWithBlock:nil];