iOS--MJRefresh的使用 上拉刷新和下拉加载

1.一般使用MJRefresh 来实现上拉刷新和下拉加载功能

2.MJRefresh 下载地址:https://github.com/CoderMJLee/MJRefresh

3. MJRefresh 的使用

(1)先在工程中导入:

  #import "MJRefreshNormalHeader.h"

  #import "MJRefreshAutoNormalFooter.h"

(2)下拉刷新 

    // 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadNewData方法)
    MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(getServiceData)];
    
    // 设置自动切换透明度(在导航栏下面自动隐藏)
    header.automaticallyChangeAlpha = YES;
    
    // 隐藏时间
    header.lastUpdatedTimeLabel.hidden = YES;
    
    // 设置header
    self.mainTableView.mj_header = header;

注意:下拉刷新时候,要把pageIndex置为1

- (void)getServiceData

{

    self.pageIndex = 1;

    [self requestDataList];

}

(3)上拉加载

    self.mainTableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
        [self requestDataList];
        
    }];

注意:1.数据数组 的设置  

     2.第几页 的设置

   3.成功后结束刷新

         4.刷新tableview

if (self.pageIndex==1) {
                                        self.dataArray = commodities.mutableCopy; 
                                    }else {
                                       [self.dataArray addObjectsFromArray:commodities];
                                    }
  self.pageIndex ++;
  [self.mainTableView reloadData];
  [self.mainTableView.mj_header endRefreshing];
  [self.mainTableView.mj_footer endRefreshing];
原文地址:https://www.cnblogs.com/huadeng/p/6929255.html