(1)UIRefreshControlnode
(2)EGOTableViewRefreshui
(3)AH3DPullRefreshurl
(4)MJRefreshspa
(5)本身實現code
1.導入AH3DPullRefresh工程文件orm
2.在工程TARGETS-> Build Phases-> Compile Sources->blog
搜索UIScrollView+AH3DPullRefresh並在後面加上 「-fno-objc-arc」ip
3.添加頭UIScrollView+AH3DPullRefresh的頭文件ci
#import "UIScrollView+AH3DPullRefresh.h"
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]; }