根据包含的UITextView调整UITableViewCell的大小



我正在开发一款iOS应用程序,目前我正在表视图单元格中显示大量文本。有问题的文本存储在NSAttributedString中。1可以跨越不确定数量的行,并且可以具有内联附件(如图像)。这里的问题是,我似乎无法准确测量给定单元格的高度,从而将其传递到表视图。有没有一种高效、简单的方法来计算包含在UITextView中的任意复杂的NSAttributedString的高度?

您可以调用boundingRectWithSize:options:context:方法来查找其大小。

[attributedString boundingRectWithSize:CGSizeMake(320.0f, CGFLOAT_MAX)
                               options:NSStringDrawingUsesLineFragmentOrigin
                               context:nil];

您可以将320.0f替换为文本视图的预期宽度。

参考:NSAttributedStringUIKit添加参考

作为脚注,NSString有类似的类别概述在这里。

在遇到免费的Sensible TableView框架之前,我曾多次尝试失败。该框架具有他们所称的TextViewCell,它会根据内部的文本自动调整大小。强烈推荐。

最新更新