为什么当我得到tableviewcell的systemLayoutSizeFittingSize的结果总是为零?
问题描述:
tableview单元格非常复杂,有一个标签可以根据其内容动态更改。为什么当我得到tableviewcell的systemLayoutSizeFittingSize的结果总是为零?
MyTaskTableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
[self configureCell:cell forIndexPath:indexPath withCellIndentifier:cellIdentifier];
[cell setNeedsUpdateConstraints];
[cell updateConstraintsIfNeeded];
NSLog(@"%f",[cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height);
它显示在屏幕是正确的,所述内容是紧有内容的端线和电池的底部之间的空行。但高度始终输出0,我无法动态设置单元格高度,发生了什么?
答
设置一个细胞视线的高度的唯一方法是用 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
如果你想拥有你所要做的事情在这个功能的动态高度。
你不一定要计算高度,自动布局会照顾它。 – gabbler 2014-11-05 02:28:42