要点
- 创建UITableView的时候,告诉UITableView,cell 高度它要自己计算
self.tableView.estimatedRowHeight = 80;
self.tableView.rowHeight = UITableViewAutomaticDimension;
- 不需要实现UITableView 中关于height的计算,下面这个函数是不需要实现的。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
自定义cell中,一定要有控件的约束是与cell的顶部和底部有约束关系,这样cell才能去计算。一开始我写死了size,没有与底部关联,导致一直高度计算一直不正确。
cell的布局要放在cell的contentView中,直接用[self addSubview:xxx], 会计算不正确。[PS: 也可能是我某些地方没写对]。
如果有使用UITextView,需要把scrollEnabled 禁止,否则宽度的显示不对。