UITableView自动计算cell高度

UITableView自动计算cell高度

这篇文章来说一下UITableView的cell自适应高度,其实很简单,,但是最重要的是一定要给cell自上而下加好约束,如果写出来的的cell没有自适应高度,那基本上都是cell的约束没有写好的原因,,这个很重要,自上而下,,上下左右的约束都要写好,才能达到自适应高度的效果。

1. 在写高度的时候使用:

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 80;
}

或者使用另一种方法:

self.tableView.rowHeight = UITableViewAutomaticDimension;

self.tableView.estimatedRowHeight = 80;

这个的意思就是告诉tableView,你需要自己适应高度,我不给你算啦。但是我们需要告诉它一个大概高度,例如上面的80,理论上这个是可以随便写的,并不影响显示结果,但是越接近真实高度越好。

UITableView在进行渲染的时候会先走estimatedHeightForRowAtIndexPath这个方法,会先给它一个预估的高度值,然后在根据Cell的具体内容去计算真实高度值;

2. 在Cell里面写UI的时候,self或者self.contentView必须要统一,,不能有的加在self上有的加在self.contentView上,,,否则影响了Cell的 自适应高度 必须要各个控件上下全都约束好,除了内容不固定的地方,其他地方的高度一定要给一个准确的值,,这样才能自适应!!!

3. 一般Cell需要自适应高度,是因为有一个需要用UILabel显示的地方的内容和高度不固定,所以才需要自适应高度,针对这个ContentLabel的地方,[self.contentLabel setNumberOfLines:0]; numberoflines这个属性一定要设置成0,, 约束上不用设置高度,但是上下约束一定要约束好。

4. 在写Cell上的控件的约束的时候,一定要注意,自上而下,第一个控件距离顶部的距离,,最后一个控件距离底部的距离都要写上,尤其不能忘了最后一个控件距离底部的约束一定要写上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值