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

时间:2013-07-09 23:34:49

标签: ios uitableview uitextview

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

2 个答案:

答案 0 :(得分:1)

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

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

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

参考:NSAttributedString UIKit Additions Reference

作为脚注,NSString有类似的类别here

答案 1 :(得分:1)

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