iOS开发之下拉刷新和上拉加载更多
iOS开发之下拉刷新和上拉加载更多
1.简介
常用的下拉刷新的实现方式
(1)UIRefreshControl
(2)EGOTableViewRefresh
(3)AH3DPullRefresh
(4)MJRefresh
(5)自己实现
2.UIScrollView+PullLoad的使用
2.1 效果图
下拉刷新效果图:
上拉加载更多效果图:
2.2 实现
第一步, 首先添加UIScrollView+PullLoad.m到工程中, 设置UIScrollView+PullLoad.m文件为非ARC(加入 -fno-objc-arc)
在需要添加下拉刷新的.m文件中添加头文件
#import "UIScrollView+PullLoad.h"
第二步, 为表格视图添加下拉刷新和上拉加载更多
- (void)PullDownLoadEnd {
_count = 1;
_tableView.canPullUp = YES;
[self startDownloadData];
[_tableView reloadData];
[_tableView stopLoadWithState:PullDownLoadState];
}
- (void)PullUpLoadEnd {
_count += 1;
if (_count > 10) {
_tableView.canPullUp = NO;
}
[self startDownloadData];
[_tableView reloadData];
[_tableView stopLoadWithState:PullUpLoadState];
}
*注意事项:
if(self.interceptor.downView)
// [self.interceptor.downView setFrame:CGRectMake(0, self.contentSize.height, self.frame.size.width, 300)];
[self.interceptor.downView setFrame:CGRectMake(0, self.contentSize.height - 140 - 64 - 49, self.frame.size.width, 300 - 140 - 64 - 49)];
用此类实现下拉加载时,默认显示的视图为整个self.view,即:
[self.interceptor.downView setFrame:CGRectMake(0, self.contentSize.height, self.frame.size.width, 300)];
需要改为:
[self.interceptor.downView setFrame:CGRectMake(0, self.contentSize.height - 140 - 64 - 49, self.frame.size.width, 300 - 140 - 64 - 49)];
才适合当前程序。