3

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

4

1 回答 1

1

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

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

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

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

[label setAttributedText:text];

因此,当它在其中包含表情符号时,它的标签高度就会出错。

我通过使用 Github 手册中描述的正确方法更改此设置方法来解决此问题。

于 2014-12-18T17:42:30.253 回答