今天写了一个控制器分页加载更多,拉倒最后没数据的时候一刷新就回到了顶部,reloadata
不是应该停在当前界面吗,谁遇到过这样的问题
reloadData会触发table把所有数据重新加载,但应该不会移动位置,你可以看看你的数据是否刷新后有改变位置
要么就是你的页数有错误 ,要么就是数据重复读取了。
我估计,上拉加载完成后又调用了 tableview 的设置方法,你断点看看 UI设置的地方是不是调用了
没看到代码,不知道哪里问题,可以给你个建议,刷新数据后,设置TableView展示最底部:
oc语言:
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:false];
swift语言:
tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: UITableViewScrollPosition.Bottom, animated: false)
这里的:indexPath可以是你加载完数据后的最后一个
楼主,你试试更新组,不直接[tableView reloadata],而是[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationNone];
数据源清空后重新解析保存数据的话,整个列表会重新刷新,回到最初状态,如果只需要分页加载下一页,数据源不需要清空,只需要将新获得的数据解析后加入到数据源中,再刷新列表即可