ios 下拉刷新
来源:互联网 发布:淘宝商城女装 编辑:程序博客网 时间:2024/05/16 12:24
实现的开源框架是:https://github.com/enormego/EGOTableViewPullRefresh
1.实现过程很简单,下载相应的demo,然后拷贝资源文件和EGORefreshTableHeaderView.h和EGORefreshTableHeaderView.m到相依的工程中.
2. 添加QuartzCore.framework组建
3. 在table所在的类中.h 文件中添加如下代码:
@interface iphone_navtaViewController :UITableViewController<EGORefreshTableHeaderDelegate>{ EGORefreshTableHeaderView *_refreshHeaderView;// Reloading var should really be your tableviews datasource// Putting it here for demo purposes BOOL _reloading;} - (void)reloadTableViewDataSource;- (void)doneLoadingTableViewData;@end
然后在.m文件中实现以下个方法
#pragma mark -#pragma mark EGORefreshTableHeaderDelegate Methods- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{NSLog(@"=egoRefreshTableHeaderDidTriggerRefresh");[self reloadTableViewDataSource];[self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:3.0];}- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{//NSLog(@"=egoRefreshTableHeaderDataSourceIsLoading");return _reloading; // should return if data source model is reloading}- (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{NSLog(@"=egoRefreshTableHeaderDataSourceLastUpdated");return [NSDate date]; // should return date data source was last changed}#pragma mark -#pragma mark Data Source Loading / Reloading Methods- (void)reloadTableViewDataSource{NSLog(@"==reloadTableViewDataSource");// should be calling your tableviews data source model to reload// put here just for demo_reloading = YES;}- (void)doneLoadingTableViewData{NSLog(@"==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];}
以上方法主要的调用顺序是:下拉的时候会一直调用 egoRefreshTableHeaderDataSourceIsLoading释放之后会调用 egoRefreshTableHeaderDidTriggerRefresh ——> reloadTableViewDataSource(这个方法中写松手后要实现的操作)
当reloadTableViewDataSource方法执行完后会调用 doneLoadingTableViewData(这个方法实现执行完成后的操作)
- IOS UITableView下拉刷新
- ios 下拉刷新
- ios 下拉刷新
- ios下拉刷新
- IOS 下拉刷新--downPullRefreshView
- iOS 下拉刷新效果
- iOS 下拉刷新
- iOS 下拉刷新
- ios下拉刷新笔记
- IOS 6下拉刷新
- ios下拉刷新
- iOS 下拉刷新
- iOS下拉刷新
- iOS 下拉刷新
- iOS开发 ----- 下拉刷新
- ios下拉刷新
- iOS 下拉刷新
- iOS 下拉刷新 XHRefreshControl
- EFM32片内外设--USB MSD host framework
- C++中Explicit关键字的理解
- Maven和Tycho
- linux c 单例执行程序
- 正则表达式学习(九)子表达的使用
- ios 下拉刷新
- HDOJ 1536 SG函数的基本应用
- object对象异常调试技巧
- 学习MongoDB--(9-1):复制(主从复制--基本示例和原理介绍)
- linux c 清理系统文件缓存—— posix_fadvise
- Nmap用法的思维导图
- 清理系统文件缓存
- 电容/滤波电容/去耦电容/耦合电容/旁路电容
- 查看磁盘块大小命令