標籤:import 工程
廢話不多說,直接上傳代碼說明
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 is reloading
}
- (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{
return [NSDate date]; // should return date data source was last changed
}
#pragma mark - UIScrollViewDelegate Methods
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
[refreshView egoRefreshScrollViewDidScroll:scrollView];
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
[refreshView egoRefreshScrollViewDidEndDragging:scrollView];
}
注意要實現UIScrollViewDelegate
5 添加load資料的函數和load完資料的函數
#pragma mark Data Source Loading / Reloading Methods
//下拉動作觸發事件調用的函數。在這裡發送資料請求
- (void)reloadTableViewDataSource{
// should be calling your tableviews data source model to reload
// put here just for demo
NSLog(@"dragging!!!");
timer = [NSTimer scheduledTimerWithTimeInterval:5 target:selfselector:@selector(doneLoadingTableViewData) userInfo:nil repeats:NO];
reloading = YES;
}
//請求結束函數。在這裡要關閉下拉的視圖.並更新表視圖
- (void)doneLoadingTableViewData{
// model should call this when its done loading
NSLog(@"stop loading");
timer = nil;
reloading = NO;
[refreshView egoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView];
[listData addObject:[[NSString alloc] initWithFormat:@"%d",[listData count]]];
[self.tableView reloadData];
}
本文出自 “ZhuoKing” 部落格,請務必保留此出處http://9951038.blog.51cto.com/9941038/1772576
iOS EGORefreshTableHeaderView使用方法