使用EGOTableViewPullRefresh实现下拉刷新
1.导入EGOTableViewPullRefresh
ARC工程中需要设置不启用ARC -fno-objc-arc
2.添加视图EGOTableViewPullRefresh
_egoHeaderView = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0, -460, 320, 460)];
_egoHeaderView.delegate = self;
[_tableView addSubview:_egoHeaderView];
3.实现代理方法
//当向下拖拽时执行此方法, 需要从网络下载数据
- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view
{
//开始载入数据
_isLoading = YES;
//更新数据
for (NSDictionary *dict in _dataArray) {
NSString *price = [NSString stringWithFormat:@"%d",arc4random()%100];
[dict setValue:price forKey:@"Price"];
}
//模拟加载完成事件
[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(finishRefresh) userInfo:nil repeats:NO];
}
//数据下载完成后执行此方法
- (void)finishRefresh{
[_tableView reloadData];
[_egoHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:_tableView];
_isLoading = NO;
}
- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view
{
return _isLoading;
}
- (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view
{
return [NSDate date];
}
//scrollView delegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
[_egoHeaderView egoRefreshScrollViewDidScroll:scrollView];
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
[_egoHeaderView egoRefreshScrollViewDidEndDragging:scrollView];
}