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的下拉刷新和上拉加載