3

当前行为

我有一个UILabel带有特定大小的矩形框架的 multiLine。字体和所有设置都如此设置,它将显示三行的 MAX,超过它将被截断。

异常行为

异常行为是,有时我确实有完整的一行或两行剩余,但该行被截断。这是因为该行末尾的单词太大而无法放入该行的末尾。

预期行为

我希望UILabel填充到所有三行然后截断。

这是我当前的代码

[_detailedTextLabel setNumberOfLines:0];
[_detailedTextLabel setLineBreakMode:UILineBreakModeTailTruncation];
[_detailedTextLabel setAdjustsFontSizeToFitWidth:YES]; 
4

2 回答 2

3

使用另一种换行模式。

[_detailedTextLabel setLineBreakMode:NSLineBreakByWordWrapping];

并确保标签具有适当的高度(假设width已经设置):

CGSize size = [_detailedTextLabel sizeThatFits:CGSizeMake(width, CGFLOAT_MAX)];
_detailedTextLabel.frame = CGRectMake(0, 0, size.width, size.height);
于 2013-05-17T13:05:24.613 回答
1

尝试使用这个。你需要写这两行。

label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;
于 2013-05-17T12:24:10.423 回答