只需要兩步:
1. 在你的model里添加一個cell高度的字段,當你給cell里的label進行賦值時,賦值完成后需要調用強制布局,[self layoutIfNeeded];然后給model里的height字段賦值。
2.在tableview的獲取cell高度的代理方法里把model.height設為cell的高度。
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
CXModel* model=self.modelArray[indexPath.row];
return model.heigth;
}
-(void)setModel:(CXModel *)model{
_model=model;
self.label1.text=model.str1;
self.label2.text=model.str2;
self.label3.text=model.str3;
[self layoutIfNeeded];
model.heigth=CGRectGetMaxY(self.label3.frame);
}
我也不太懂原理只是這樣設置成功了發出來 給大家點意見,也希望大牛告訴我原理。