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

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

1.简介

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

  (1)UIRefreshControl

  (2)EGOTableViewRefresh

  (3)AH3DPullRefresh  (本文实例所用)

  (4)MJRefresh

  (5)自己实现

 

2.效果图

下拉刷新

技术分享

 

上拉加载

技术分享

 

3. 代码实现过程

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

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

#import "UIScrollView+AH3DPullRefresh.h"

 

3.2为偏移值等于1 (_offset = 1) 以及偏移值等于10+1 (_offset += _pageSize) 添加加载方法

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

 

3.3  

(1)如果偏移值为1,数据源清空数据;

(2)将提取下载库的数据并且存入数组list ,在数组list内遍历并赋值

(3)最后结束刷新,并刷新tableview的数据

//如果偏移值为1,刷新数据    
    if(_offset == 1)
    {
        NSLog(@"下拉刷新!");
        [_dataArray removeAllObjects];
    }
    
 NSArray *list = [doc nodesForXPath:@"//promotion" error:nil];

//遍历数据,并赋值
    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];

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。