我现在一直在开发几个表格视图。我觉得heightForRowAtIndexPath
一直在浪费时间实施。有没有办法将高度默认为y
行的最大元素值,这显然是通过cellForRowAtIndexPath
添加默认填充构建的?
我在问自己,为什么这个方法不在默认的 iOS 中,如果cellForRowAtIndexPath
太消耗内存,开发人员可能会覆盖这个方法。
以下代码显示了我们如何实现对 - 的调用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);
}