//在viewDidLoad方法中加入下面的代码
_loadMore=NO;
//添加下拉刷新
if (_refreshHeaderView == nil) {
_refreshHeaderView = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.tableView.frame.size.height, self.tableView.frame.size.width, self.tableView.frame.size.height)];
[_refreshHeaderView setBackgroundColor:self.tableView.backgroundColor];
_refreshHeaderView.delegate = self;
[self.tableView addSubview:_refreshHeaderView];
[_refreshHeaderView refreshLastUpdatedDate];
}
//EGORefreshTableHeader Methods start
/* 1、引入EGORefreshTableHeader头文件
* 2、实现delegate <EGORefreshTableHeaderDelegate>
* 3、定义变量 EGORefreshTableHeaderView *_refreshHeaderView; BOOL _reloading;
* 4、拷贝粘贴下面的代码到合适位置
* 5、改写获取数据的方法
*/
#pragma mark - UIScrollViewDelegate Methods
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
//scrollView拖拽进行中无限次执行,图片的显示
[_refreshHeaderView egoRefreshScrollViewDidScroll:scrollView];
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
//scrollView结束拖拽了执行一次,更新数据
[_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView];
}
#pragma mark EGORefreshTableHeaderDelegate Methods
- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{
//数据获取绑定完毕后执行这个委托 (拖拽松开后,如果满足条件,进行获取数据)
[self performSelector:@selector(reloadTableViewDataSource) withObject:nil afterDelay: 0.5];
}
- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{
return NO; //拖动的时候会频繁请求,如果事NO,说明可以加载新内容,反之不能加载新内容。(向服务器发起请求前---加载完表格后不能再次执行reloadTableViewDataSource方法)
}
- (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{
return [NSDate date]; //返回最后更新日期
}
//-------------根据实际情况,需要修改-----------
- (void)reloadTableViewDataSource{
if (_reloading) return;//防止重复刷新
NSLog(@"==开始加载数据");
_reloading = YES;//不能再次请求啦!
wdsFunction *tmp=[[wdsFunction alloc]initWithDelegate:self];
urlParms=[[NSMutableString alloc]initWithFormat:@"%@",@"startv=1&endv=10"];
[tmp getDataFromServer:5 parms:urlParms ownerTableView:self.tableView ownerController:self.parentViewController useLocalStore:NO showProgressHUD:YES];
}
- (void)doneLoadingTableViewData
{
//在主线程中更新画面 这个方法是将获取回来的数据在显示到tableview上 根据自己的需求再改! 我是wdsFunction的的代理去执行的
//[self performSelectorOnMainThread:@selector(refTableView) withObject:self waitUntilDone:NO];
[_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView];
[_refreshHeaderView refreshLastUpdatedDate];
NSLog(@"==数据加载完毕");
[self.tableView reloadData];
_reloading = NO; //这里是重点,必须改写回来
}
//EGORefreshTableHeader Methods end