IOS开发之很简单的下拉刷新,包你满意
2016-03-24 09:56
459 查看
说实话,刚开始看到这篇博客的时候很不可思议,主要是因为当时我在研究这个的时候废了很长的时间,当时我们使用的是MJ_Refresh,再加上当时刚开始接触这个第三方的东西,所以被搞的晕头转向,
这篇博客来自于此代码来自Enormego 团队,一个来自美国的天才、热心的开发团队
下载地址
在自己工程中的引用步骤:
一、 从上面的链接下载资源文件,将
二、找到你的 UITableViewController 的 .h 文件,添加相应的代码:
三、切换到你的 UITableViewController 的 .m 文件,添加相应的代码:
编译你的工程,打开 simulator ,看看效果吧。包你满意。
效果图:
这篇博客来自于此代码来自Enormego 团队,一个来自美国的天才、热心的开发团队
下载地址
在自己工程中的引用步骤:
一、 从上面的链接下载资源文件,将
EGORefreshTableHeaderView.h、
EGORefreshTableHeaderView.m两个文件,以及Enormego提供的那一套图片包拖进你的工程里。
二、找到你的 UITableViewController 的 .h 文件,添加相应的代码:
#import "EGORefreshTableHeaderView.h" @interface RootViewController : UITableViewController { EGORefreshTableHeaderView *_refreshHeaderView; // Reloading var should really be your tableviews datasource // Putting it here for demo purposes BOOL _reloading; } - (void)reloadTableViewDataSource; - (void)doneLoadingTableViewData; @end
三、切换到你的 UITableViewController 的 .m 文件,添加相应的代码:
- (void)viewDidLoad { [super 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; } // 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 }
编译你的工程,打开 simulator ,看看效果吧。包你满意。
效果图:
相关文章推荐
- IOS自适应前段库-Masonry的使用(转载)
- iOS 开发-删除storyboard的正确方法
- iOS开发之获取各种文件的目录路径的方法
- iOS 本地推送、远程推送及带快速回复的本地推送
- iOS从入门到颈椎病发作
- 实例讲解设计模式中的命令模式在iOS App开发中的运用
- iOS项目的Info.plist的一些设置mark
- virtualBox虚拟机安装64位操作系统BIOS的设置
- clang: error: no such file or directory: "xxxxxx" clang: error: no input files
- iOS的socket开发基础
- IOS开发编码规范
- iOS 单例传值遇见问题
- IOS键盘触摸退出总结
- iOS开发之NSRunLoop的进一步理解
- ios-序列帧动画核心代码简单介绍以及封装
- iOS GCD不同场景的使用比较
- ios-NSStringFromCGRect直接输出控件的frame
- iOS数据保存的四种方式
- 正则表达式
- [IOS]hitTest的作用与用法