您的位置:首页 > 移动开发 > IOS开发

iOS中tableView的下拉刷新与上拉加载(二)

2014-09-19 19:34 239 查看
上一篇文章讲述了tableView的下拉刷新,这次讲一下上拉加载,不像下拉刷新,苹果给我们提供了方法,虽然不是很好看。而上拉加载苹果没有提供,且上文提到的EGORefresh也没用提供。所以我们自己实现一个上拉加载。环境依旧是上文的环境。当我们要注意,下拉的接口是不变的,无非是重新请求了一次,而加载是请求更多的内容,接口是要改变的,如 http://www.**.com/new.html?page=2&count=20。表示我们请求第二页,数量是20。所以还需要服务器的支持
上文已经提到之所以能下拉刷新就是EGORefreshTableHeaderView实时地捕捉到了tableView的偏移,当到一定的偏移量后,就开始刷新。根据这个原理,我们设想:监视上拉偏移,当达到一定偏移后就开始加载更多。

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{

    //_pullUp 是否可以上拉加载,向上拉的偏移超过50就加载
    if (_pullUp && scrollView.frame.size.height+scrollView.contentOffset.y > scrollView.contentSize.height + 50)
    {
        [self pullUpRefresh];//调用加载方法
    }
}

- (void)pullUpRefresh
{

//1.开始网络请求(因为是加载,接口要改变),此处_dataArray里面的数据不清空,继续添加
//2.请求的数据保存在_dataArray里面,并重新加载_tableView

}


但请注意,这里的上拉加载,是没有什么提示的。不像我们前面的下拉刷新。直到数据更新完后,用户才明白原来刚才加载更多了。这样看来用户体验不是很好。所以我们要做一个标签,告诉用户正在加载更多的数据。可以添加一些动画,来提升用户体验。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: