Perry

Results 59 comments of Perry

You can refer to: #9

If you need to achieve the effect you want, need to modify the source code, so you can only take the project far copy to your own project and then...

不会的,你可以测试下,做个定时器,添加信息。Tableview 有重用机制,而且每次都刷新可见界面的Cell,这里如果要说耗时较多应该是计算Cell高度那里,不过肉眼也不会察觉明显卡顿的。

这个如果讲的很细致,就涉及很多篇幅内容了。后面如果有时间再把思路和细节分解下,你可以结合Demo和README再看整个架构,理解起来应该就快了。

我这边做了测试是不卡的,你说的是你推测还是已经遇到卡顿了呢? 展示效果如下: ![gif](http://ac-unmt7l5d.clouddn.com/635913586c8222e225d7.gif)

[展示效果gif](http://ac-unmt7l5d.clouddn.com/635913586c8222e225d7.gif)

我做的测试就是动态计算的,高度计算速度虽然耗时相对较长,但是也是ms级别的差距,肉眼根本是难以发现,估算高度也只是对滑动时预定一个高度使滑动时流畅防止不必要的高度计算,和高度动态计算没有关联,给了也要计算,不给也要计算。框架中对高度进行了缓存,就算没给预定高度滑动也是不受影响的,当然你也可以添加一个预定高度,但是得取消新增消息时冒出的效果。 动态计算高度和性能可以看博客中的介绍:[Cell动态高度计算](http://www.jianshu.com/p/99f901762f15),[高度自适应加速](http://www.jianshu.com/p/d73715e1ed64) 取消新增消息时冒出的效果Demo中改动: ``` [self finishSendingMessageAnimated:YES]; ``` 改为 ``` [self finishSendingMessageAnimated:NO]; ```

对于这个问题,你需要去单步调试下tableView datasource的加载流程会更清楚的了解。 tableview 是先去询问有多少section,然后多少rows,知道所有的section和row后再初始化cell。 你的数据源改变了,就需要通知tableview刷新或者手动插入row。

If you need to add a view because of a requirement, I suggest that you do not add directly to the `ZHCMessagesTableView`, but in the `view` that you inherit and...