1、下载EGORefreshTableHeaderView开源框架。
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
}
最后,自己配置数据源进行测试。
分享到:
相关推荐
Xamarin.IOS tableview下拉刷新
下拉刷新tableView
如题所示:非常流行的下拉式刷新方式,可自行选择刷新样式,更可心自己定制所需类型。 代码经典实用,风格不错。推荐一下。
下拉刷新TableView
根据自己的需求,修改的上拉刷新及下拉刷新
自己整理的一套“tableview 上拉刷新 下拉刷新功能实现”程序,经过测试,程序完全没有问题。网上开源的下拉-上拉刷新控件,普遍封装得过于复杂、耦合性强,此程序无耦合、可插拔式的刷新控件,对项目中的其他代码...
tableview刷新。包括上拉刷新和下拉刷新
swift 下拉刷新 tableview
下拉刷新上拉加载的TableView封装
使用方法:直接在要用到相应TableView的页面,把UITableView换成例子中的HXLRefreshTableView,分别设置下拉刷新 和 上拉加载更多 view的可用性,并实现相应代理即可。 具体例子,请参照HXLRootVC类。 如有疑问,...
tableview刷新。包括上拉刷新和下拉刷新
2.实现了tableView的下拉刷新功能,下拉tableView的过程中,将依次显示“下拉刷新...”、“释放刷新...”和“加载中...”状态提示。另外会显示进度指示动画和上次更新时间,具体实现试用了开源的...
通过下拉webview实现重现加载页面,和tableview的下拉刷新原理一样
2015 iOS TableView上拉加载下拉刷新,适合新手,代码通俗易懂,注释清晰。
ios实现下拉刷新,可自定义下拉刷新时的view
tableview 上拉/下拉刷新 3D 刷新 table刷新 完美实现上拉下拉刷新 超简单方面使用
根据网上开源的代码EGORefreshTableHeaderView(/ios/Pull-To-Refresh-TableView/4f681c096803fa2c63000004),实现简单的tableview下拉刷新和scrollview下拉刷新。还有用Core Graphics画的Gradient背景。 小编注...
用第三方类库实现的tableView的下拉刷新的功能
本篇是上一篇“下拉/上拉刷新...分别单独使用是没问题的,但是如果都同时存在即一个tableview即可以上拉刷新,也可以下拉刷新,就又问题了; 3、TableViewUpOrDownPullRefreshFromEGO.zip是解决上面2提出的问题的版本
完美解决ListView下拉刷新和上拉分页逻辑 /下拉刷新 /上拉更多 /滚动栏 /工具栏半拉显隐 带两个示例:新闻、工具栏 示例中的PageView控件在此: https://download.csdn.net/download/surfsky/8516949 当然注释掉...