从标题中可以清楚地看出,我正在尝试为包含 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
请就如何使其发挥作用提出明确的说明。
以防万一,我要显示的是可能包含表情符号(自定义图像,当然不是表情符号)的文本消息,并且这些表情符号被存储并显示为NSTextAttachment
s。