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

       网上搜索上拉刷新,基本没什么可用信息,大都一篇文章传来传去,描述也不清楚。正好我们项目中有用到上拉刷新,就拿过来对着下拉刷新(上一篇有下拉刷新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



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值