QQ通信原理分析
2011-04-17 19:24
274 查看
1、下载EGORefreshTableHeaderView开源框架。
2、往应用中添加EGORefreshTableHeaderView.h文件、EGORefreshTableHeaderView.m文件、Resource目录,并且导入QuartzCore.framework
3、添加代码
往tableview对应的类的头文件中添加如下代码 EGORefreshTableHeaderView *_refreshHeaderView;
往viewDidLoad函数里添加如下代码
再添加一些事件函数
最后,自己配置数据源进行测试。
2、往应用中添加EGORefreshTableHeaderView.h文件、EGORefreshTableHeaderView.m文件、Resource目录,并且导入QuartzCore.framework
3、添加代码
往tableview对应的类的头文件中添加如下代码 EGORefreshTableHeaderView *_refreshHeaderView;
BOOL _reloading; - (void)reloadTableViewDataSource; - (void)doneLoadingTableViewData;
往viewDidLoad函数里添加如下代码
if (_refreshHeaderView == nil) { EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderView alloc] 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.tableView addSubview:view]; _refreshHeaderView = view; [view release]; } // update the last update date [_refreshHeaderView refreshLastUpdatedDate];
再添加一些事件函数
#pragma mark - #pragma mark Data Source Loading / Reloading Methods - (void)reloadTableViewDataSource{ // should be calling your tableviews data source model to reload // put here just for demo _reloading = YES; } - (void)doneLoadingTableViewData{ // model should call this when its done loading _reloading = NO; [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView]; } #pragma mark - #pragma mark UIScrollViewDelegate Methods - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ [_refreshHeaderView egoRefreshScrollViewDidScroll:scrollView]; } - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ [_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView]; } #pragma mark - #pragma mark EGORefreshTableHeaderDelegate Methods - (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{ [self reloadTableViewDataSource]; [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:3.0]; } - (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 }
最后,自己配置数据源进行测试。
相关文章推荐
- QQ通信原理分析
- QQ通信原理分析
- QQ 通信原理分析
- QQ通信原理及QQ是怎么穿透内网进行通信的?
- QQ通信原理及QQ是怎么穿透内网进行通信的?
- 多线程间通信之AutoResetEvent和ManualResetEvent的原理分析和开发示例
- QQ通信原理及QQ是怎么穿透内网进行通信的?
- QQ通信原理
- QQ通信原理及QQ是怎么穿透内网进行通信的?
- QQ通信原理及QQ是怎么穿透内网进行通信的?
- QQ通信原理及QQ是怎么穿透内网进行通信的?
- QQ通信原理及QQ是怎么穿透内网进行通信的?
- 通信原理-确定信号分析
- Android中线程间通信原理分析:Looper,MessageQueue,Handler
- QQ通信原理及QQ是怎么穿透内网进行通信的?(关于P2P)
- ucenter通信原理分析
- QQ通信原理及QQ是怎么穿透内网进行通信的?(关于P2P)
- Android 中线程间通信原理分析:Looper, MessageQueue, Handler
- Ucenter 1.6和Discuz X2整合通信流程原理详细分析
- QQ通信原理及QQ是怎么穿透内网进行通信的?