iOSUIScrollView的下拉刷新和上拉加载的实现
下面我简单的说一说iosUIScrollView的下拉刷新和上拉加载的实现。
首先导入第三方库:
MJRefresh
添加头文件:
#import"MJRefresh.h"
添加代理:
@interfaceViewController()
声明全局变量:
@property(nonatomic,strong)UIScrollView*myScrollView;//滚动视图
@property(nonatomic,assign)NSIntegerpage;//当前页数
懒加载创建myScrollView:
- (UIScrollView*) myScrollView{
if(!_myScrollView) {
UIScrollView*myScrollView = [[UIScrollViewalloc]initWithFrame:CGRectMake(0,64,self.view.frame.size.width,self.view.frame.size.height-64)];
myScrollView.backgroundColor= [UIColorwhiteColor];
myScrollView.delegate=self;
//如果你导入的MJRefresh库不是最新的库,就用下面的方法创建下拉刷新和上拉加载事件
myScrollView.header= [MJRefreshNormalHeaderheaderWithRefreshingTarget:selfrefreshingAction:@selector(headRefresh)];
myScrollView.footer= [MJRefreshAutoNormalFooterfooterWithRefreshingTarget:selfrefreshingAction:@selector(footerRefresh)];
//如果你导入的MJRefresh库是最新的库,就用下面的方法创建下拉刷新和上拉加载事件
myScrollView.mj_header= [MJRefreshNormalHeaderheaderWithRefreshingTarget:selfrefreshingAction:@selector(headRefresh)];
myScrollView.mj_footer= [MJRefreshAutoNormalFooterfooterWithRefreshingTarget:selfrefreshingAction:@selector(footerRefresh)];
self.myScrollView= myScrollView;
}
return_myScrollView;
}
#pragma mark -下拉刷新
- (void)headRefresh{
self.page=1;
[selfgetData];
}
#pragma mark -上拉加载
- (void)footerRefresh{
self.page++;
[selfgetData];
}
#pragma mark -请求数据
- (void)getData{
//当请求数据成功或失败后,如果你导入的MJRefresh库不是最新的库,就用下面的方法结束下拉刷新和上拉加载事件
[self.myScrollView.headerendRefreshing];
[self.myScrollView.footerendRefreshing];
//如果已经加载到最后一页
[self.myScrollView.footernoticeNoMoreData];
//当请求数据成功或失败后,如果你导入的MJRefresh库是最新的库,就用下面的方法结束下拉刷新和上拉加载事件
[self.myScrollView.mj_headerendRefreshing];
[self.myScrollView.mj_footerendRefreshing];
//如果已经加载到最后一页
[self.myScrollView.mj_footerendRefreshingWithNoMoreData];
}
到这里,你就实现了UIScrollView的下拉刷新和上拉加载