heightForRowAtIndexPath - 如何默认为单元格的最大元素高度

时间:2013-08-07 13:21:29

标签: ios tableview

我现在正在开发几个表格视图。我觉得浪费时间一直在实施heightForRowAtIndexPath。有没有办法将高度默认为行的最大元素y值,这显然是从cellForRowAtIndexPath添加默认填充构造的?

我问自己,为什么这个方法不在默认的iOS中,如果cellForRowAtIndexPath耗费大量内存,开发人员可能会覆盖此方法。

1 个答案:

答案 0 :(得分:0)

以下代码显示了我们如何实现对heightForRowAtIndexPath的调用:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
  NSString *text = [items objectAtIndex:[indexPath row]];

  CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f);

  CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];

  CGFloat height = MAX(size.height, 44.0f);

  return height + (CELL_CONTENT_MARGIN * 2);
}