reloadRowsAtIndexPaths更新表视图的contentOffset

Jay*_*Jay 3 objective-c uitableview reloaddata ios contentoffset

我试图从tableview重新加载一个特定的行,但在重新加载后,tableview的contentOffset被重置为(0,0).我试图添加[tableview beginUpdates]和重新加载[tableview endUpdates]reloadRowsAtIndexPaths,但没有改变行为.

问题在这里被问到调用reloadRowsAtIndexPaths删除tableView contentOffset但它没有解决问题.我很确定动画与此行为无关.我还不确定如何在重新加载tableview行的同时保持tableview的内容Offset.

[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];

eyu*_*elt 7

我猜你已经实现tableView:estimatedHeightForRowAtIndexPath:并让它返回0.

之后reloadRowsAtIndexPaths:withRowAnimation:,tableView使用给定的估计高度确定其偏移量tableView:estimatedHeightForRowAtIndexPath:.因此,除非您返回的值是准确的,否则实现它将导致在重新加载后tableView的偏移量发生变化.我遇到了类似的问题并通过删除我的实现来修复它tableView:estimatedHeightForRowAtIndexPath:.