iOS estimatedHeightForRowAtIndexPath 导致偏移计算出错

-(CGFloat) tableView : estimatedHeightForRowAtIndexPath 

上面这个方法用于让系统自动帮你模拟一个cell的高度,这个模拟的高度是不准确的,与真实的cell的高度之间也没有任何逻辑上的关联;

在设置了estimatedHeight后,如果这时候又需要对tableView的contentInset进行一些设置以便达到某些效果,如:sectionHeader的跟随移动啊,tableView的header refresh之类功能时,会出现意外的情况。

比如,我这边出现的例子:
我在sectionHeader中绘制了一个view;
然后又在下拉刷新及滚动列表时,做了一些contentInset的处理。
当继续下拉更多页面时,APP会偶发的出现sectionHeader出现跑偏的现象,频率大概能到1/8左右;
注释掉tableView : estimatedHeightForRowAtIndexPath 代码段后,运行正常,经多次测试,再未出现类似情况;

你可能感兴趣的:(iOS estimatedHeightForRowAtIndexPath 导致偏移计算出错)