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

【iOS开发】---- 上拉加载更多(附Demo)

2013-03-18 17:25 465 查看
       网上搜索上拉刷新,基本没什么可用信息,大都一篇文章传来传去,描述也不清楚。正好我们项目中有用到上拉刷新,就拿过来对着下拉刷新(上一篇有下拉刷新Demo下载地址)看,并且试着自己修改,修改步骤如下:

1.初始化上拉刷新视图,注意位置与上拉刷新的区别:

refreshView = [[EGORefreshTableFooterView alloc]  initWithFrame:CGRectZero];
refreshView.delegate = self;
//下拉刷新的控件添加在tableView上
[self.tableView addSubview:refreshView];
refreshView的frame应该在表格加载完数据后再设置,因为它的位置与表的contentsize有关:

-(void)viewDidAppear:(BOOL)animated
{
//frame应在表格加载完数据源之后再设置
[self setRefreshViewFrame];
[super viewDidAppear:animated];
}


setRefreshViewFrame实现如下:

-(void)setRefreshViewFrame
{
//如果contentsize的高度比表的高度小,那么就需要把刷新视图放在表的bounds的下面
int height = MAX(self.tableView.bounds.size.height, self.tableView.contentSize.height);
refreshView.frame =CGRectMake(0.0f, height, self.view.frame.size.width, self.tableView.bounds.size.height);
}

2.把箭头、状态提示、上次拉取时间以及刷新是箭头所变的风火轮的位置重置。

3.既然是叫上拉刷新,刷新视图在底部,那么就把上拉刷新的文件及里面的函数名改一下吧,用Footer替代里面所有的Header就行(当然,最好检查一遍,看哪些地方不能改)。

4.有个地方需要注意一下,就是loading的时候,scrollview滚动时候状态变化的条件要注意,要考虑两种情况:一、contentsize的高度小于表的高度;二、contentsize的高度大于表的高度。

5.箭头方向的修改。

EGORefreshTableFooterView文件中修改的地方我都做了标记://modify by shenjx,可以知道哪里是修改了的。Demo地址如下:

猛击这里下载Demo
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: