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];

 

posted @ 2015-04-03 17:15  Hanks、  阅读(613)  评论(0编辑  收藏  举报