实现tableView:estimatedHeightForRowAtIndexPath:会导致奇怪的滚动行为。如何解决它

时间:2014-03-31 13:27:25

标签: ios uitableview nsfetchedresultscontroller

在我的UITableView我实施了tableView:estimatedHeightForRowAtIndexPath:方法以加快加载速度。我还有NSFetchedResultsController来显示它的内容。

当影响我的UITableView的新条目生效时,实施tableView:estimatedHeightForRowAtIndexPath:会导致tableview中的滚动位置出错。

在这里,您可以使用Apples模板查看Master-Detail View App的任何动态单元格高度: https://dl.dropboxusercontent.com/u/809469/UITableView-Problem-With-EstimatedContentHeights.zip 我改变的一切都是将一个randomHeight属性添加到CoreData实体,并将其用于高度信息。

如果添加多个条目,然后滚动到UITableView的底部并插入新对象,则可以看到效果。然后它会滚动到错误的位置......

评论tableView:estimatedHeightForRowAtIndexPath:会解决它......

我现在可以自己修复它,记住controllerWillChangeContent:中的contentOffset,对插入/删除/更新应用更改,然后在controllerDidChangeContent:中再次应用固定的contentOffset,但我的问题是我只是做错了什么?!?

0 个答案:

没有答案