该篇文章主要介绍一个实现聊天界面的思路过程,源码可以在 源码链接获得,该工程实现聊天的基本功能,功能还不够完善,欢迎大家提PR,效果图如下所示
我希望通过相对简单的方式实现界面的布局,没有复杂的计算达到自适应的效果。
iOS8新功能介绍
虽然self size cell最终没有在我的工程中用到,但是这是我曾经挖过的坑,所以在此做了简单的介绍。
在iOS 8 中,UITableView新增一项功能 self size cells,这是一项通过 UITableViewCell 的约束自动自动计算UITableView contentSize 的技术。这个新特性给我们带来两个个好处。
我们不再需要为了自适应文字,去计算每个cell 中文字所需要的高度。
而且有更高的性能。(因为UITableView每次reloadData的时候都会重新计算 cell 的高度,意味着如果有1万个 cell 要展示,需要 调用heightForRowAtIndexPath一万次,这效率是特别低的)
我们通过一个简单的demo来介绍一下 Self Size Cells 的用法,demo 源码
效果如图
使用步骤是
为UITableViewCell添加约束
设置UITableView 的estimatedRowHeight属性
设置 rowHeight为 UITableViewAutomaticDimension
有一点