EGORefreshTableHeaderView使用方法(二)

来源:互联网 发布:图片上传淘宝变模糊 编辑:程序博客网 时间:2024/06/05 20:06
1.把EGORefreshTableHeaderView.h和EGORefreshTableHeaderView.m文件拉入到工程
2.viewcontroller文件添加引用#import"EGORefreshTableHeaderView.h"和协议<</span>EGORefreshTableHeaderDelegate>
3.定义对象

EGORefreshTableHeaderView *refreshView;

    BOOL reloading;


注意reloading是必须的


4 实现delegate

#pragma mark - EGORefreshTableHeaderDelegate Methods

//下拉控件刷新触发事件

- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{

[self reloadTableViewDataSource];

}


- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{

return reloading; // should return if data source model isreloading

}


- (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{

return [NSDatedate]; // should return date data source waslast changed

}


#pragma mark - UIScrollViewDelegate Methods

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{

[refreshViewegoRefreshScrollViewDidScroll:scrollView];

}


- (void)scrollViewDidEndDragging:(UIScrollView *)scrollViewwillDecelerate:(BOOL)decelerate{

[refreshViewegoRefreshScrollViewDidEndDragging:scrollView];

 

}


注意要实现UIScrollViewDelegate


5添加load数据的函数和load完数据的函数


#pragma mark Data Source Loading / Reloading Methods

//下拉动作触发事件调用的函数。在这里发送数据请求

- (void)reloadTableViewDataSource{

 

//  should be calling your tableviews data sourcemodel to reload

//  put here just for demo

   NSLog(@"dragging!!!");

   timer= [NSTimerscheduledTimerWithTimeInterval:5target:self selector:@selector(doneLoadingTableViewData)userInfo:nil repeats:NO];

reloading = YES;

 

}

//请求结束函数。在这里要关闭下拉的视图.并更新表视图

- (void)doneLoadingTableViewData{

 

//  model should call this when its doneloading

   NSLog(@"stop loading");

   timer = nil;

reloading = NO;

[refreshViewegoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView];


   [listData addObject:[[NSString alloc] initWithFormat:@"%d",[listData count]]];

 

   [self.tableView reloadData];

 

}

0 0
原创粉丝点击