0

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

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

4

1 回答 1

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);
}
于 2013-08-07T13:48:56.017 回答