我有一些UITableViewCells需要根据内部字符串的长度来改变它们的高度.我正在计算内部的必要高度tableView:cellForRowAtIndexPath:,然后将其存储在变量(self.specialRowHeight)中.然后我有:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == SPECIAL_SECTION) {
return self.specialRowHeight;
}
else {
return 44;
}
}
Run Code Online (Sandbox Code Playgroud)
除了似乎在tableView:cellForRowAtIndexPath:比特之前被调用,所以它总是为零.
有没有办法解决这个问题,或者采取不同的方式来做到这一点?
谢谢!
我需要访问表格中的单元格,tableView:heightForRowAtIndexPath:
因为我想使用我在客户单元格中进行高度计算的数据.我发现获取我的细胞的唯一方法是打电话tableView:cellForRowAtIndexPath:
问题在于调用tableView:cellForRowAtIndexPath:实际上是创建单元格,而不是对它们不做任何操作.当需要将相同的单元格用于绘图时,将再次创建它.因此,对于相同的索引,单元格被创建两次.
所以我想知道是否有更有效的方法来做到这一点.谢谢您的帮助.