最近项目中的tableView的cell需要根据cell中label的内容做适应高度 之前在做这种工作的时候都是事先计算好cell中内容的高度 然后在返回高度的方法中 依次进行返回 这种有些麻烦 而且使用起来有局限 下面介绍一种简洁有效的方法 目前还没发现这种简洁有效的方法存在哪些大的弊端
- 在cell中正常创建控件 正常布局
- 在vc中使用tableView的estimatedRowHeight属性 给该属性赋值 尽可能赋一个cell的平均高度的值
通过上面的两步就可以轻易的完成cell的高度自适应 这个属性为tableView的预估高度 这是iOS7苹果推出的 为什么要尽可能设置一个cell平均高度值呢 这个方式给cell高度赋值和协议方法给高度赋值是截然不同的 协议方法是在cell将要出现的时候所有的cell就已经有值了 而这个预估高度给cell高度赋值是只给当前显示的cell高度进行赋值 其他的不管 对于那些赋过值的 会自动加入系统缓存 等下次cell出现的时候自动读取 如果我们给出的这个预估值与实际值相差很大 这样在加载cell时候系统在更新cell的高度时候回很吃力
To Be Continued...