• iOS-加载数据的实现-MJRefresh


    使用CocoaPods加载三方库:

    pod 'MJRefresh'

    MJRefresh类结构图:


    具体实现方法和效果图:

    • The drop-down refresh 01-Default

      self.tableView.header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
         //Call this Block When enter the refresh status automatically 
      }];
      或
      // Set the callback(Once you enter the refresh status,then call the action of target,that is call [self loadNewData])
      self.tableView.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];
      
      // Enter the refresh status immediately
      [self.tableView.header beginRefreshing];

      (下拉刷新01-普通)

    • The drop-down refresh 02-Animation image

      // Set the callback(一Once you enter the refresh status,then call the action of target,that is call [self loadNewData])
      MJRefreshGifHeader *header = [MJRefreshGifHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];
      // Set the ordinary state of animated images
      [header setImages:idleImages forState:MJRefreshStateIdle];
      // Set the pulling state of animated images(Enter the status of refreshing as soon as loosen)
      [header setImages:pullingImages forState:MJRefreshStatePulling];
      // Set the refreshing state of animated images
      [header setImages:refreshingImages forState:MJRefreshStateRefreshing];
      // Set header
      self.tableView.mj_header = header;

      (下拉刷新02-动画图片)

    • The drop-down refresh 03-Hide the time

      // Hide the time
      header.lastUpdatedTimeLabel.hidden = YES;

      (下拉刷新03-隐藏时间)

    • The drop-down refresh 04-Hide status and time

      // Hide the time
      header.lastUpdatedTimeLabel.hidden = YES;
      
      // Hide the status
      header.stateLabel.hidden = YES;

      (下拉刷新04-隐藏状态和时间0)

    • The drop-down refresh 05-DIY title

      // Set title
      [header setTitle:@"Pull down to refresh" forState:MJRefreshStateIdle];
      [header setTitle:@"Release to refresh" forState:MJRefreshStatePulling];
      [header setTitle:@"Loading ..." forState:MJRefreshStateRefreshing];
      
      // Set font
      header.stateLabel.font = [UIFont systemFontOfSize:15];
      header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:14];
      
      // Set textColor
      header.stateLabel.textColor = [UIColor redColor];
      header.lastUpdatedTimeLabel.textColor = [UIColor blueColor];

      (下拉刷新05-自定义文字)

    • The drop-down refresh 06-DIY the control of refresh

      self.tableView.mj_header = [MJDIYHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];
      // Implementation reference to MJDIYHeader.h和MJDIYHeader.m

      (下拉刷新06-自定义刷新控件)

    • The pull to refresh 01-Default

      self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
          //Call this Block When enter the refresh status automatically
      }];
      或
      // Set the callback(Once you enter the refresh status,then call the action of target,that is call [self loadMoreData])
      self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];

      (上拉刷新01-默认)

    • The pull to refresh 02-Animation image

      // Set the callback(Once you enter the refresh status,then call the action of target,that is call [self loadMoreData])
      MJRefreshAutoGifFooter *footer = [MJRefreshAutoGifFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];
      
      // Set the refresh image
      [footer setImages:refreshingImages forState:MJRefreshStateRefreshing];
      
      // Set footer
      self.tableView.mj_footer = footer;

      (上拉刷新02-动画图片)

    • The pull to refresh 03-Hide the title of refresh status

      // Hide the title of refresh status
      footer.refreshingTitleHidden = YES;
      // If does have not above method,then use footer.stateLabel.hidden = YES;

      (上拉刷新03-隐藏刷新状态的文字)

    • The pull to refresh 04-All loaded

      //Become the status of NoMoreData
      [footer noticeNoMoreData];

      (上拉刷新04-全部加载完毕)

    • The pull to refresh 05-DIY title

      // Set title
      [footer setTitle:@"Click or drag up to refresh" forState:MJRefreshStateIdle];
      [footer setTitle:@"Loading more ..." forState:MJRefreshStateRefreshing];
      [footer setTitle:@"No more data" forState:MJRefreshStateNoMoreData];
      
      // Set font
      footer.stateLabel.font = [UIFont systemFontOfSize:17];
      
      // Set textColor
      footer.stateLabel.textColor = [UIColor blueColor];

      (上拉刷新05-自定义文字)

    • The pull to refresh 06-Hidden After loaded

      //Hidden current control of the pull to refresh
      self.tableView.mj_footer.hidden = YES;

      (上拉刷新06-加载后隐藏)

    • The pull to refresh 07-Automatic back of the pull01

      self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];

      (上拉刷新07-自动回弹的上拉01)

    • The pull to refresh 08-Automatic back of the pull02

      MJRefreshBackGifFooter *footer = [MJRefreshBackGifFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];
      
      // Set the normal state of the animated image
      [footer setImages:idleImages forState:MJRefreshStateIdle];
      //  Set the pulling state of animated images(Enter the status of refreshing as soon as loosen)
      [footer setImages:pullingImages forState:MJRefreshStatePulling];
      // Set the refreshing state of animated images
      [footer setImages:refreshingImages forState:MJRefreshStateRefreshing];
      
      // Set footer
      self.tableView.mj_footer = footer;

      (上拉刷新07-自动回弹的上拉02)

    • The pull to refresh 09-DIY the control of refresh(Automatic refresh)

      self.tableView.mj_footer = [MJDIYAutoFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];
      // Implementation reference to MJDIYAutoFooter.h和MJDIYAutoFooter.m

      (上拉刷新09-自定义刷新控件(自动刷新))

    • The pull to refresh 10-DIY the control of refresh(Automatic back)

      self.tableView.mj_footer = [MJDIYBackFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];
      // Implementation reference to MJDIYBackFooter.h和MJDIYBackFooter.m

      (上拉刷新10-自定义刷新控件(自动回弹))

    • UICollectionView01-The pull and drop-down refresh

      // The drop-down refresh
      self.collectionView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
         //Call this Block When enter the refresh status automatically 
      }];
      
      // The pull to refresh
      self.collectionView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
         //Call this Block When enter the refresh status automatically
      }];

      (UICollectionView01-上下拉刷新)

    • UIWebView01-The drop-down refresh

      //Add the control of The drop-down refresh
      self.webView.scrollView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
         //Call this Block When enter the refresh status automatically
      }];

      (UICollectionView01-上下拉刷新)

    文章来源:https://github.com/CoderMJLee/MJRefresh

  • 相关阅读:
    poj 2262 筛法求素数(巧妙利用数组下标!)
    BestCoder Round #65 (ZYB's Premutation)
    BestCoder Round #65 (ZYB's Game)
    BestCoder Round #65 (ZYB's Biology)
    筛法求素数
    常见OJ提交结果对照表
    CSS3伸缩盒Flexible Box
    移动开发屏幕适配分析
    用PHP抓取页面并分析
    安装最新版本的PHPUnit后,不能使用
  • 原文地址:https://www.cnblogs.com/xujinzhong/p/8676516.html
Copyright © 2020-2023  润新知