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