EGOTableViewRefresh下拉刷新
2013-12-28 13:46
246 查看
iOS和android中经常会有下拉刷新的页面,这里用EGOTableViewRefresh开源库来实现iOS中的下拉刷新
1.到这里下载EGOTableViewRefresh开源库
2.新建一个single view项目,将上边的库导入
3.导入系统库QuartzCore,如图:
4.上代码,ViewController.h
@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, EGORefreshTableHeaderDelegate> {
UITableView* _tableView;
NSMutableArray* _dataArray;//数据数组
EGORefreshTableHeaderView* _refreshView;//刷新视图
BOOL _isRefresh;//是否刷新
}
@end
5.ViewController.m 初始化以上定义的控件
_dataArray = [[NSMutableArray alloc] initWithObjects:@"data1", @"data2", @"data3", @"data4", @"data5", nil];
_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460) style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
[self.view addSubview:_tableView];
[_tableView release];
_refreshView = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0, -460, 320, 460)];
_refreshView.delegate = self;//设置刷新代理
[_tableView addSubview:_refreshView];//将刷新视图添加到tableView上边
[_refreshView release];
6.EGOTableViewRefreshDelegate代理中有三个方法,前两个必须实现
- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view;
- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view;
@optional
- (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view;实现代理:
7.模拟刷新之后
//下载完成
- (void)refresh{
[_dataArray addObject:@"new"];
[_tableView reloadData];
//结束刷新
[_refreshView egoRefreshScrollViewDataSourceDidFinishedLoading:_tableView];
1.到这里下载EGOTableViewRefresh开源库
2.新建一个single view项目,将上边的库导入
3.导入系统库QuartzCore,如图:
4.上代码,ViewController.h
@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, EGORefreshTableHeaderDelegate> {
UITableView* _tableView;
NSMutableArray* _dataArray;//数据数组
EGORefreshTableHeaderView* _refreshView;//刷新视图
BOOL _isRefresh;//是否刷新
}
@end
5.ViewController.m 初始化以上定义的控件
_dataArray = [[NSMutableArray alloc] initWithObjects:@"data1", @"data2", @"data3", @"data4", @"data5", nil];
_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460) style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
[self.view addSubview:_tableView];
[_tableView release];
_refreshView = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0, -460, 320, 460)];
_refreshView.delegate = self;//设置刷新代理
[_tableView addSubview:_refreshView];//将刷新视图添加到tableView上边
[_refreshView release];
6.EGOTableViewRefreshDelegate代理中有三个方法,前两个必须实现
- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view;
- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view;
@optional
- (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view;实现代理:
//触发刷新 - (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView *)view{ //这里一般是网络请求 _isRefresh = YES; //刷新操作,此处用一个定时器来模拟网络请求 [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(refresh) userInfo:nil repeats:NO]; } //告诉refreshView现在是否正在刷新 - (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView *)view{ return _isRefresh;}
7.模拟刷新之后
//下载完成
- (void)refresh{
[_dataArray addObject:@"new"];
[_tableView reloadData];
//结束刷新
[_refreshView egoRefreshScrollViewDataSourceDidFinishedLoading:_tableView];
//将刷新标记为NO,防止多次向下拖拽重复请求 _isRefresh = NO; }
相关文章推荐
- goole官方下拉刷新 SwipeRefreshLayout
- Android之---SwipeRefreshListview(Google原生态下拉刷新)
- github项目之下拉刷新(二)
- iScroll上拉加载下拉刷新 -> 遇到的问题
- 安卓框架——XListView(上拉加载,下拉刷新)的使用方法
- 对所有Activity和Fragment统一添加下拉刷新和上拉加载
- [置顶] Android下拉刷新上拉加载控件,对所有View通用!
- RecyclerView更全解析之 - 打造通用的下拉刷新上拉加载
- RecyclerView下拉刷新、上拉加载更多以及复杂列表布局的实现
- 微信小程序—下拉刷新上拉加载
- SwipeRefreshLayout+RcyclerView完成下拉刷新,上拉数据加载
- 小程序的下拉刷新与上划加载
- Android下拉刷新组件—PullToRefresh
- 下拉刷新头部视差效果
- Android RecyclerView实现下拉刷新和上拉加载更多
- ionic---上拉加载下拉刷新
- android最新上拉加载,下拉刷新
- 【Android实战】----RecyclerView下拉刷新和上拉加载的简单实现
- SuperSwipeRefreshLayout(非浸入式下拉刷新、上拉加载)
- html5+css3实现上拉和下拉刷新