我有一个带有 UITableViewCells
的 UITableView
,它在 cellForRowAtIndexPath
方法中用 UILabels
等填充。
在将 UILabel 添加到单元格后,我想更改 UITableViewCell 的高度。
我怎样才能做到这一点?
我在 heightForRowAtIndexPath
方法中阅读了很多关于这样做的内容,但是这个方法是在 cellForRowAtIndexPath
之前调用的,所以当 heightForRowAtIndexPath
时,新的自定义高度是未知的> 被调用。
那么如何在 cellForRowAtIndexPath
方法中设置我的 UITableViewCell
的高度?
提前致谢,浪费了很多时间在这上面。
最佳答案
您无法更改 cellForRowAtIndexPath 中的高度。 tableView 在显示整个 tableView 之前必须知道高度。这就是为什么为 tableView 中的每个单元格调用 tableView:heightForRowAtIndexPath:
的原因。
例如,这是计算容纳单元格的 scrollView 的大小所需要的。
但由于单元格的创建遵循由您创建的特定算法,因此您应该能够在调用 tableView:cellForRowAtIndexPath:
之前计算出每个单元格的高度。
在 cellForRowAtIndexPath: 中使用确定单元格高度的相同代码部分,并将它们放入 heightForRowAtIndexPath:
优化对于 heightForRowAtIndexPath 很重要,因为每个单元格都会调用它。因此,请确保只进行计算高度所需的最少工作量。
关于iphone - 在 cellForRowAtIndexPath 中更改 UITableViewCell 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9226739/