iOS UIScrollView 的下拉刷新和上拉加载的实现
2016-11-02 11:09
417 查看
iOS UIScrollView
的下拉刷新和上拉加载的实现
下面我简单的说一说iOS UIScrollView
的下拉刷新和上拉加载的实现。
首先导入第三方库:
MJRefresh
添加头文件:
#import "MJRefresh.h"
添加代理:
@interface
ViewController ()<UIScrollViewDelegate>
声明全局变量:
@property (nonatomic,
strong) UIScrollView *myScrollView;//滚动视图
@property (nonatomic,
assign) NSInteger page;//当前页数
懒加载创建myScrollView:
- (UIScrollView *) myScrollView{
if (!_myScrollView) {
UIScrollView *myScrollView = [[UIScrollView
alloc]initWithFrame:CGRectMake(0,
64, self.view.frame.size.width,
self.view.frame.size.height-64)];
myScrollView.backgroundColor = [UIColor
whiteColor];
myScrollView.delegate =
self;
//如果你导入的MJRefresh库不是最新的库,就用下面的方法创建下拉刷新和上拉加载事件
myScrollView.header = [MJRefreshNormalHeader
headerWithRefreshingTarget:self
refreshingAction:@selector(headRefresh)];
myScrollView.footer = [MJRefreshAutoNormalFooter
footerWithRefreshingTarget:self
refreshingAction:@selector(footerRefresh)];
//如果你导入的MJRefresh库是最新的库,就用下面的方法创建下拉刷新和上拉加载事件
myScrollView.mj_header = [MJRefreshNormalHeader
headerWithRefreshingTarget:self
refreshingAction:@selector(headRefresh)];
myScrollView.mj_footer = [MJRefreshAutoNormalFooter
footerWithRefreshingTarget:self
refreshingAction:@selector(footerRefresh)];
self.myScrollView = myScrollView;
}
return
_myScrollView;
}
#pragma mark - 下拉刷新
- (void)headRefresh{
self.page =
1;
[self
getData];
}
#pragma mark - 上拉加载
- (void)footerRefresh{
self.page ++;
[self
getData];
}
#pragma mark - 请求数据
- (void)getData{
//当请求数据成功或失败后,如果你导入的MJRefresh库不是最新的库,就用下面的方法结束下拉刷新和上拉加载事件
[self.myScrollView.header
endRefreshing];
[self.myScrollView.footer
endRefreshing];
//如果已经加载到最后一页
[self.myScrollView.footer
noticeNoMoreData];
//当请求数据成功或失败后,如果你导入的MJRefresh库是最新的库,就用下面的方法结束下拉刷新和上拉加载事件
[self.myScrollView.mj_header
endRefreshing];
[self.myScrollView.mj_footer
endRefreshing];
//如果已经加载到最后一页
[self.myScrollView.mj_footer
endRefreshingWithNoMoreData];
}
到这里,你就实现了UIScrollView
的下拉刷新和上拉加载
的下拉刷新和上拉加载的实现
下面我简单的说一说iOS UIScrollView
的下拉刷新和上拉加载的实现。
首先导入第三方库:
MJRefresh
添加头文件:
#import "MJRefresh.h"
添加代理:
@interface
ViewController ()<UIScrollViewDelegate>
声明全局变量:
@property (nonatomic,
strong) UIScrollView *myScrollView;//滚动视图
@property (nonatomic,
assign) NSInteger page;//当前页数
懒加载创建myScrollView:
- (UIScrollView *) myScrollView{
if (!_myScrollView) {
UIScrollView *myScrollView = [[UIScrollView
alloc]initWithFrame:CGRectMake(0,
64, self.view.frame.size.width,
self.view.frame.size.height-64)];
myScrollView.backgroundColor = [UIColor
whiteColor];
myScrollView.delegate =
self;
//如果你导入的MJRefresh库不是最新的库,就用下面的方法创建下拉刷新和上拉加载事件
myScrollView.header = [MJRefreshNormalHeader
headerWithRefreshingTarget:self
refreshingAction:@selector(headRefresh)];
myScrollView.footer = [MJRefreshAutoNormalFooter
footerWithRefreshingTarget:self
refreshingAction:@selector(footerRefresh)];
//如果你导入的MJRefresh库是最新的库,就用下面的方法创建下拉刷新和上拉加载事件
myScrollView.mj_header = [MJRefreshNormalHeader
headerWithRefreshingTarget:self
refreshingAction:@selector(headRefresh)];
myScrollView.mj_footer = [MJRefreshAutoNormalFooter
footerWithRefreshingTarget:self
refreshingAction:@selector(footerRefresh)];
self.myScrollView = myScrollView;
}
return
_myScrollView;
}
#pragma mark - 下拉刷新
- (void)headRefresh{
self.page =
1;
[self
getData];
}
#pragma mark - 上拉加载
- (void)footerRefresh{
self.page ++;
[self
getData];
}
#pragma mark - 请求数据
- (void)getData{
//当请求数据成功或失败后,如果你导入的MJRefresh库不是最新的库,就用下面的方法结束下拉刷新和上拉加载事件
[self.myScrollView.header
endRefreshing];
[self.myScrollView.footer
endRefreshing];
//如果已经加载到最后一页
[self.myScrollView.footer
noticeNoMoreData];
//当请求数据成功或失败后,如果你导入的MJRefresh库是最新的库,就用下面的方法结束下拉刷新和上拉加载事件
[self.myScrollView.mj_header
endRefreshing];
[self.myScrollView.mj_footer
endRefreshing];
//如果已经加载到最后一页
[self.myScrollView.mj_footer
endRefreshingWithNoMoreData];
}
到这里,你就实现了UIScrollView
的下拉刷新和上拉加载
相关文章推荐
- iOS UITableView 的下拉刷新和上拉加载的实现
- 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉加载更多
- Android RecyclerView实现下拉刷新和上拉加载
- iOS UIWebView 的下拉刷新和上拉加载的实现
- 用google官方控件SwipeRefreshLayout实现RecyclerView的下拉刷新和上拉加载
- 【Android实战】----RecyclerView下拉刷新和上拉加载的简单实现
- 实现RecyclerView下拉刷新和上拉加载更多以及RecyclerView线性、网格、瀑布流效果演示
- Android RecyclerView实现下拉刷新和上拉加载更多
- 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉加载更多
- Android 5.X新特性之为RecyclerView添加下拉刷新和上拉加载及SwipeRefreshLayout实现原理
- IOS-给UIScrollView(包括继承它的UITableView、UICollectionView)添加下拉刷新-上拉加载更多
- iOS中tableView的下拉刷新与上拉加载(二)
- IOS UITableView下拉刷新和上拉加载功能的实现
- 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉加载更多
- Android实现RecyclerView的下拉刷新和上拉加载更多
- SwipeRefreshLayout配合RecyclerView实现下拉刷新和上拉加载更多以及没有数据的显示
- 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉加载更多
- iOS开发之UITableView与UISearchController实现搜索及上拉加载,下拉刷新实例代码
- 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉加载更多
- 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉加载更多