iOS开发之下拉刷新和上拉加载更多

iOS开发之下拉刷新和上拉加载更多

1.简介

  常用的下拉刷新的实现方式

  (1)UIRefreshControl

  (2)EGOTableViewRefresh

  (3)AH3DPullRefresh

  (4)MJRefresh

  (5)自己实现

2.AH3DPullRefresh的使用

2.1 效果图

下拉刷新效果图:

 

上拉加载更多效果图:

2.2 实现

第一步, 首先添加AH3DPullRefresh到工程中, 设置UIScrollView+AH3DPullRefresh.m文件为非ARC(加入 -fno-objc-arc)

在需要添加下拉刷新的.m文件中添加头文件

#import "UIScrollView+AH3DPullRefresh.h"

 

第二步, 为表格视图添加下拉刷新和上拉加载更多

[_tableView setPullToRefreshHandler:^{
        //从第一行数据开始下载
        _offset = 1;
        [self startDownloadData];
    }];
    
    [_tableView setPullToLoadMoreHandler:^{
        _offset += _pageSize;
        [self startDownloadData];
    }];

第三步, 下载数据后首先如果是下拉刷新的话清空数据,  在新的数据加载完成之后结束刷新

  //如果_offset=1, 刷新
    if(_offset == 1)
    {
        NSLog(@"refresh");
        [_dataArray removeAllObjects];
    }
    
    for (GDataXMLElement *promotion in list) {
        
        PromotionModel *model = [[PromotionModel alloc] init];
        model.id = [[[promotion elementsForName:@"id"] firstObject] stringValue];
        model.name = [[[promotion elementsForName:@"name"] firstObject] stringValue];
        //其他属性自己赋值
        [_dataArray addObject:model];
        
    }
    
    //结束刷新
    [_tableView refreshFinished];
    
    [_tableView loadMoreFinished];
    
    [_tableView reloadData];

点我下载源代码 

原文地址:https://www.cnblogs.com/quietw/p/4386954.html