具有表情符号时,TTTAttributedLabel不显示最后一行

时间:2013-08-07 11:35:21

标签: ios uilabel

我们使用“TTTAttributedLabel”来显示标签。为了计算正确的矩形大小,我们使用NSString的“sizeWithFont”方法,使用“constrainedToSize”字段的宽度。
计算很好,除非文本中有一些表情符号,并且文本是多行的(例如:smiley-newLine-smiley)。在这种情况下,返回的大小太小(垂直),并且不显示最后一行。如果文本不包含任何表情符号(例如X-newLine-X) - 大小正确 我们的字体是“HelveticaNeue”尺寸:16.25,如果有任何区别。
有没有更好的方法来计算所需的大小,以便它也可以与表情符号一起使用?
感谢

1 个答案:

答案 0 :(得分:1)

根据标签的内容制作自动高度标签时,情况相同。 一切似乎都很好,除非标签内容中有表情符号。

这是因为我没有为AttributedString使用正确的setText方法。

[label setText:text afterInheritingLabelAttributesAndConfiguringWithBlock:^ 
    return mutableAttributedString;
}];

这是设置AttributedString的正确方法,但我所做的是

[label setAttributedText:text];

当它包含表情符号时,它的标签高度会出错。

我通过使用正确的方法更改此set方法解决了这个问题,如Github手册中所述。