首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

应用第三方库EGORefreshTableHeaderView实现时拉刷新功能

2013-10-17 
应用第三方库EGORefreshTableHeaderView实现下拉刷新功能首先 从网上下载#importEGORefreshTableHeaderVi

应用第三方库EGORefreshTableHeaderView实现下拉刷新功能

首先 从网上下载  #import"EGORefreshTableHeaderView.h"  这个里面的东西包含到自己的tableView之中例如#import "EGORefreshTableHeaderView.h"@interface RootViewController : UITableViewController<</span>EGORefreshTableHeaderDelegate> {
 //接下来开始声明一些必要的变量和方法并且遵守其协议
EGORefreshTableHeaderView *_refreshHeaderView;
 
//  Reloading var should really be your tableviewsdatasource
 //  Putting it here for demopurposes
 BOOL _reloading;
 }
 
- (void)reloadTableViewDataSource;
 -(void)doneLoadingTableViewData;
 @end

接下来 就是在 M文件中的 方法实现 (void)viewDidLoad {
 [super viewDidLoad];
 
if (_refreshHeaderView == nil) {
 
EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderViewalloc] initWithFrame:CGRectMake(0.0f, 0.0f -self.tableView.bounds.size.height, self.view.frame.size.width,self.tableView.bounds.size.height)];
 view.delegate = self;
 [self.tableViewaddSubview:view];
 _refreshHeaderView = view;
 [view release];
 
}
 
//  update the last update date
 [_refreshHeaderViewrefreshLastUpdatedDate];
 }//viewDidLOAD初始化一下
 (void)reloadTableViewDataSource{
 
//  should be calling your tableviews data sourcemodel to reload
 //  put here just fordemo
 _reloading = YES;
 
}
 
- (void)doneLoadingTableViewData{
 
//  model should call this when its doneloading
 _reloading = NO;
 [_refreshHeaderViewegoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView];
 
}
//这些就是datasource的一些方法

- (void)scrollViewDidScroll:(UIScrollView*)scrollView{
 
[_refreshHeaderViewegoRefreshScrollViewDidScroll:scrollView];
 
}
 
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollViewwillDecelerate:(BOOL)decelerate{
 
[_refreshHeaderViewegoRefreshScrollViewDidEndDragging:scrollView];
 
}

//这些就是scrollview的一些协议方法的实现


 (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{
 
[self reloadTableViewDataSource];
 [selfperformSelector:@selector(doneLoadingTableViewData) withObject:nilafterDelay:3.0];
 
}
 
-(BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{
 
return _reloading; // should return if data source model isreloading
 
}
 
-(NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{
 
return [NSDate date]; // should return date data source was lastchanged
 
}//这些就是自己的代理方法
以上是实现下拉菜单的一些实现. 有些数据方面的更新 需要到对应的方法里去实现. 这些方法名字都很清晰  就不做过多解释了 

热点排行