iPhone - 根据单元格文本计算自定义 TableViewCell 高度

标签 iphone uitableview

我正在 cellForRowAtIndex 函数中创建一个自定义单元格,并用动态文本填充它。单元格的高度根据此文本而变化,因此我需要使用 heightForRowAt 函数,但在该函数中我没有单元格。我可以创建一个新单元格并用文本填充它,然后对其调用计算高度函数,但随后我为每一行创建 2 个单元格。

大家有更好的方法吗?按行索引将单元格自己缓存在字典中的 cellForRow 函数中并使用它? cellForRow 是否在 heightForRow 之前调用?

到目前为止,我已经成功地使 Xcode4 崩溃了两次,所以我希望有人已经做到了这一点。

最佳答案

tableView:heightForRowAtIndexPath:

之前调用

tableView:cellForRowAtIndexPath:

创建两个单元格是一种可能的解决方案,但创建两个单元格并不是一种非常有效的方法。但是,您不需要单元格来计算高度;而是需要单元格来计算高度。您所需要的只是字符串。

您可能想使用

sizeWithFont:constrainedToSize:

在你的字符串上计算高度。

我可以提供有关如何执行此操作的详细信息,但您应该能够通过阅读文档来弄清楚。

关于iPhone - 根据单元格文本计算自定义 TableViewCell 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5765364/

相关文章:

iphone - iOS pong 开发,定时器不会停止

ios - 为什么我的 UITableViewCell 没有以任何样式显示 detailTextLabel?

iphone - 在 cellForRowAtIndexPath 中最好使用 if 语句还是 switch 语句? - UITableView

iphone - 如何使用触摸旋转图像

iphone - 在 xcode 中的 UIlabel 中显示 NSMutableArray

ios - 如何测试启动 View Controller XCTest

ios - 动画按钮的最佳方式是什么?

ios - 在tableView上显示数据: Calling contacts from a picker to tableView 29 and counting

ios - UITableView - 通过点击现有单元格插入新行

ios - 在 Swift 3 中的 UITableView 中添加图像作为附件