超简单的TableViewCell自动计算高度

先来一个效果图看看,如下,

超简单的TableViewCell自动计算高度_第1张图片
图1

接下来,咱们看怎么实现的。

一、原理图
图1
二、在图1自定义cell中,控件3为自动改变高度的部分,如果是通过frame手动计算布局时,H3 = (cell的高度 - H1 - H3);如果是通过Masonry来布局,可以将控件3设置为
make.top.equalTo(控件1).with.offset(H1);
make.bottom.equalTo控件2).with.offset(-H2);
三、接下来,是很重要的一步,我们可以设置tableViewestimatedRowHeight属性值或者在- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath;代理方法中给cell的高度设置一个估算的值
说明:如果控件3是Label,还要将它的numberOfLines属性值设置为0
第四、如果是系统的cell,只是想实现cell高度随文本高度改变,可以将它的textLabel或者detailTextLabelnumberOfLines设置为0,然后再给它设置一个预估计的值就可以了。

一切大功告成,各位可以试一下。大神可以忽略这个。不足的地方,还请各位多多指教。

你可能感兴趣的:(超简单的TableViewCell自动计算高度)