简而言之:从远程服务加载更多内容时如何实现流畅的UITableView
动画?
长期:
我在tableView:willDisplayCell
中有一个方法可以确定何时寻找更多内容。提取内容后,会在我的UITableView
中添加页脚视图,并显示UIActivityIndicator
。如果在UITableView
反弹动画停止后返回我提取的内容,那么一切都很有效。
然而,当滚动不一定到达底部以触发反弹时会发生半边缘情况,但是它足够向底部触发更多数据被提取。随着UITableView
逐渐减慢,返回数据,重新加载UITableView
,然后突然停止UITableView
的自然减速。
我可以添加一个dispatch_after来保证在弹跳动画完成后重新加载UITableView
但是总是会突然停止,因为"正在加载"在提取内容时滚动时会显示页脚。
我还尝试添加一个阻止方法,在调用scrollViewDidEndDecelerating
后重新加载我的内容,但它仍然无法正常工作。
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:0)
所以我让它发挥作用,我想当反弹停止后,当我们处于单元格的底部时,分页应该触发。
- (void) scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
// only fetch when we are at the very bottom after bounce has stopped
float scrollYPosition = scrollView.contentOffset.y + CGRectGetHeight(scrollView.frame);
if((scrollYPosition >= scrollView.contentSize.height) && !self.noMoreData && !self.isFetching){
[self fetchData];
}
}