【问题标题】:TTTAttributedLabel not displaying the last line when having Emoji symbolsTTTAttributedLabel 在有表情符号时不显示最后一行
【发布时间】:2015-06-01 11:36:25
【问题描述】:

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

【问题讨论】:

  • 您找到解决方案了吗?

标签: ios uilabel


【解决方案1】:

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

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

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

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

[label setAttributedText:text];

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

我通过将这个设置方法更改为 Github 手册中描述的正确方法解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-11
    • 2020-10-13
    • 2015-09-12
    • 1970-01-01
    • 2022-01-16
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多