1.把第三方库导入工程
2.#import "EGORefreshTableHeaderView.h"
3.需要刷新的界面 遵守协议
4.//创建在tableview的上方
- (void)creatEGOHeardView{
_heardView = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0, -self.tableView.bounds.size.height, self.tableView.bounds.size.width, self.tableView.bounds.size.height)];
//设置代理
_heardView.delegate = self;
//设置最近刷新时间
[_heardView refreshLastUpdatedDate];
[self.tableView addSubview:_heardView];
}
#pragma mark - 要实现scrollView协议的方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
//滚动视图滚动的时候要调用
[_heardView egoRefreshScrollViewDidScroll:scrollView];
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
//停止拖拽的时候调用
[_heardView egoRefreshScrollViewDidEndDragging:scrollView];
}
#pragma mark - EGO 协议中的方法
//返回当前是否正在刷新,如果正在刷新那么就 不刷新了
//返回的是YES 表示正在刷新 那么这个时候就不刷新
//返回的时NO 表示当前没有刷新 可以刷新
- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView *)view{
return _isRefreshing;
}
//刷新的时候调用
- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView *)view{
if (_isRefreshing) {
return;
}
_isRefreshing = YES;
_currentPage = 1;
[self loadDataPage:_currentPage count:20];
}
//返回最近刷新的时间
- (NSDate *)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView *)view{
return [NSDate date];
}
最后
[self.tableView reloadData];
//设置为NO 表示当前没有下载了
_isLoading = NO;
//刷新结束
_isRefreshing = NO;
//已经完成更新 要停止刷新
[_heardView egoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView];
2.#import "EGORefreshTableHeaderView.h"
3.需要刷新的界面 遵守协议
4.//创建在tableview的上方
- (void)creatEGOHeardView{
_heardView = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0, -self.tableView.bounds.size.height, self.tableView.bounds.size.width, self.tableView.bounds.size.height)];
//设置代理
_heardView.delegate = self;
//设置最近刷新时间
[_heardView refreshLastUpdatedDate];
[self.tableView addSubview:_heardView];
}
#pragma mark - 要实现scrollView协议的方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
//滚动视图滚动的时候要调用
[_heardView egoRefreshScrollViewDidScroll:scrollView];
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
//停止拖拽的时候调用
[_heardView egoRefreshScrollViewDidEndDragging:scrollView];
}
#pragma mark - EGO 协议中的方法
//返回当前是否正在刷新,如果正在刷新那么就 不刷新了
//返回的是YES 表示正在刷新 那么这个时候就不刷新
//返回的时NO 表示当前没有刷新 可以刷新
- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView *)view{
return _isRefreshing;
}
//刷新的时候调用
- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView *)view{
if (_isRefreshing) {
return;
}
_isRefreshing = YES;
_currentPage = 1;
[self loadDataPage:_currentPage count:20];
}
//返回最近刷新的时间
- (NSDate *)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView *)view{
return [NSDate date];
}
最后
[self.tableView reloadData];
//设置为NO 表示当前没有下载了
_isLoading = NO;
//刷新结束
_isRefreshing = NO;
//已经完成更新 要停止刷新
[_heardView egoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView];