IOS開發之下拉刷新和上拉加載更多

IOS開發之下拉刷新和上拉加載更多

1.簡介

  經常使用的下拉刷新和上拉加載更多的實現方式

    (1)UIRefreshControlnode

    (2)EGOTableViewRefreshui

    (3)AH3DPullRefreshurl

    (4)MJRefreshspa

    (5)本身實現code

 

2.AH3DPullRefresh的使用

  2.1 配置

    1.導入AH3DPullRefresh工程文件orm

    2.在工程TARGETS-> Build Phases-> Compile Sources->blog

      搜索UIScrollView+AH3DPullRefresh並在後面加上  「-fno-objc-arc」ip

    3.添加頭UIScrollView+AH3DPullRefresh的頭文件ci

#import "UIScrollView+AH3DPullRefresh.h"

  2.2 使用(基於滿座網的實例)

    1.添加下拉刷新和上拉加載更多的方法element

#pragma mark 下拉刷新和上拉加載更多
-(void)addPullRefreshAndPullLoadMore{
    [_tableView setPullToRefreshHandler:^{
        //從第一行數據開始下載
        _offset = 1;
        [self startDownloadData];
    }];
    
    [_tableView setPullToLoadMoreHandler:^{
        _offset += _pageSize;
        [self startDownloadData];
    }];
}

    2. 下載數據:若是是下拉刷新先清空全部的數據

//若是_offset = 1,從新刷新
    if (_offset == 1) {
       
        [_dataArray removeAllObjects];
    }

       加載完成新的數據以後結束刷新並刷新表格

 //結束刷新
    [_tableView refreshFinished];
    [_tableView loadMoreFinished];
    [_tableView reloadData];

    3.完整的代碼:

-(void)startDownloadData
{
    NSString *urlStr = [NSString stringWithFormat:MAIN_SHOP_URL,_city,_categotry,_offset,_pageSize];
    _reauest = [[HttpRequest alloc]init];
    [_reauest requestWithUrl:urlStr targe:self action:@selector(dealDownloadFinish:)];
}

-(void)dealDownloadFinish:(HttpRequest *)request{
    NSString *str = [[NSString alloc]initWithData:request.data encoding:NSUTF8StringEncoding];
    NSLog(@"%@",str);
    
    GDataXMLDocument *doc = [[GDataXMLDocument alloc]initWithData:request.data  options:0 error:nil];
    NSArray *list = [doc nodesForXPath:@"//promotion" error:nil];
    
    //若是_offset = 1,從新刷新
    if (_offset == 1) {
       
        [_dataArray removeAllObjects];
    }
    
    for (GDataXMLElement *promotion in list) {
        PromotionModel *model = [[PromotionModel alloc]init];
        model.myid = [[[promotion elementsForName:@"id"] firstObject] stringValue];
        model.name = [[[promotion elementsForName:@"name"] firstObject] stringValue];
        [_dataArray addObject:model];

    }
    
    //結束刷新
    [_tableView refreshFinished];
    [_tableView loadMoreFinished];
    [_tableView reloadData];
    
}

 

    

下載 

相關文章
相關標籤/搜索