我正在尝试实现可变高度的表格单元格,我认为这是一个优雅的解决方案,结果却变成了递归/堆栈溢出:
- (CGFloat)tableView:(UITableView *)aTableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
MyCustomCell *cell = (MyCustomCell *)[aTableView cellForRowAtIndexPath:indexPath];
return [cell heightForObject:...]; // passing data object on indexPath
}所有表单元格标签和其他视图属性都是在创建时初始化的(以通常的tableView:cellForRowAtIndexPath:方式)。因此,我的想法是可以将特定于高度的计算从表控制器移到我的自定义单元格实现中,如下所示。我可以在其他表控制器中使用相同的单元格,几乎不需要任何代码重复。heightForObject:可以查看它的子视图,他们正在使用什么字体,并由此构建高度值。见鬼,我甚至可以改变某些单元格标签的字体大小,理论上它们应该适当地更新它们的高度。
如前所述,我用这段代码解决了堆栈溢出问题。我该如何获取调用tableView:heightForRowAtIndexPath:的目标单元格呢?
发布于 2010-11-19 04:32:10
所以你想要得到被选中的单元格?
然后写下:
UITableViewCell *actCell = [self.tableView cellForRowAtIndexPath:
[self.tableView indexPathForSelectedRow]];https://stackoverflow.com/questions/4043850
复制相似问题