iOS开发之下拉刷新和上拉加载更多
iOS开发之下拉刷新和上拉加载更多
1.简介
常用的下拉刷新的实现方式
(1)UIRefreshControl
(2)EGOTableViewRefresh
(3)AH3DPullRefresh
(4)MJRefresh
(5)自己实现
2.AH3DPullRefresh的使用
2.1 效果图
下拉刷新效果图:
上拉加载更多效果图:
2.2 实现
第一步, 首先添加AH3DPullRefresh到工程中, 设置UIScrollView+AH3DPullRefresh.m文件为非ARC(加入 -fno-objc-arc)
在需要添加下拉刷新的.m文件中添加头文件
#import "UIScrollView+AH3DPullRefresh.h"
第二步, 为表格视图添加下拉刷新和上拉加载更多
[_tableView setPullToRefreshHandler:^{ //从第一行数据开始下载 _offset = 1; [self startDownloadData]; }]; [_tableView setPullToLoadMoreHandler:^{ _offset += _pageSize; [self startDownloadData]; }];
第三步, 下载数据后首先如果是下拉刷新的话清空数据, 在新的数据加载完成之后结束刷新
//如果_offset=1, 刷新 if(_offset == 1) { NSLog(@"refresh"); [_dataArray removeAllObjects]; } 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];