我正在开发一款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,它会根据内部的文本自动调整大小。强烈推荐。