在我的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,但我的问题是我只是做错了什么?!?