1

从标题中可以清楚地看出,我正在尝试为包含 a 的边界找到合适的大小,UILabel其中NSAttributedString包含一些使用NSTextAttachment.

在使用 的attributedText属性之前UILabel,我使用text的是仅携带纯文本的属性,我使用的方法是

sizeWithFont:font constrainedToSize:CGSizeMake(220, 9999) lineBreakMode:NSLineBreakByWordWrapping

它工作正常。但是现在我已经更改了我的内容类型,UILabel并且这种方法不再给出正确的大小(因为它不考虑图像的宽度)。

我用谷歌搜索了很多,我最终得到的唯一一件事NSAttributedString

boundingRectWithSize:CGSizeMake(220.f, CGFLOAT_MAX) options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) context:nil

但它没有返回适当的大小,并且使用此方法在 UI 中丢失了大部分内容。因此,请提出另一种解决方案,或者如果您提出建议,boundingRectWithSize请就如何使其发挥作用提出明确的说明。

以防万一,我要显示的是可能包含表情符号(自定义图像,当然不是表情符号)的文本消息,并且这些表情符号被存储并显示为NSTextAttachments。

4

0 回答 0