我正在尝试计算表格中每个单元格的高度。目前,我使用它。
CGSize maximumSize = CGSizeMake(tableView.frame.size.width, UILayoutFittingCompressedSize.height);
CGFloat height = [offscreenCell.contentView systemLayoutSizeFittingSize:maximumSize].height;
return height;
问题是单元格有许多标签,顶部有一个日期字符串标签,然后在下面添加了多个标签,列出了该日期的项目。由于某些原因,某些单元格中的日期标签被切断。我认为这可能与标签包裹到第二行并且高度未正确计算有关。
有什么想法吗?谢谢。
答案 0 :(得分:1)
获取一个单元格,设置它的属性(日期标签等),调用layoutIfNeeded,然后计算这个高度:
MyCustomCell* cell = [myTableView dequeReusableCellWithIdentifier:@"CellId"];
for( NSString* text in arrayOfTexts )
{
[cell setDateLabelText:text];
[cell layoutIfNeeded];
CGSize maximumSize = CGSizeMake(tableView.frame.size.width, UILayoutFittingCompressedSize.height);
CGFloat height = [offscreenCell.contentView systemLayoutSizeFittingSize:maximumSize].height;//now store this height and use it in height for row at index path
}