3分钟搞定iOS下拉刷新的详细介绍
2012-11-05 21:40
232 查看
此代码来自Enormego 团队,一个来自美国的天才、热心的开发团队。
下载地址:
在自己工程中的引用步骤:
一、 从上面的链接下载资源文件,将
二、找到你的 UITableViewController 的 .h 文件,添加相应的代码:
三、切换到你的 UITableViewController 的 .m 文件,添加相应的代码:
四、最后呢,别忘了内存管理习惯:
效果图:
下载地址:
在自己工程中的引用步骤:
一、 从上面的链接下载资源文件,将
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; [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 }
四、最后呢,别忘了内存管理习惯:
- (void)viewDidUnload { _refreshHeaderView=nil; } - (void)dealloc { _refreshHeaderView = nil; [super dealloc]; }五、编译你的工程,打开 simulator ,看看效果吧。包你满意。
效果图:
相关文章推荐
- iOS下拉刷新的详细介绍
- IOS Blocks 详细介绍
- ios开发中是CoreData的一些详细介绍。
- iOS开发系列--详细介绍数据存取
- ios开发中是CoreData的一些详细介绍。
- iOS-数据持久化详细介绍
- IOS 开发之触摸事件详细介绍
- iOS ArcGIS 10.2.5 详细介绍
- iOS-申请邓白氏编码的超详细流程介绍(2017.06.12)
- iOS-申请邓白氏编码的超详细流程介绍
- IOS 字符串常用处理详细介绍
- IOS 刷新UItableView 中的行或组详细介绍
- ios 打包成静态库详细介绍
- IOS Bundle详细介绍及使用方法
- iOS CoreText类库的详细介绍
- iOS-申请邓白氏编码的超详细流程介绍
- iOS开发UIBezierPath的详细介绍
- IOS 的 7 中手势的介绍 和详细使用(UIGestureRecognizer) UIScreenEdgePanGestureRecognizer
- iOS:UIPageViewController翻页控制器控件详细介绍
- iOS—如何申请苹果公司开发者账号流程详细图文介绍(包括邓白氏编码的申请方法详细介绍)