zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【神经网络与深度学习】ZLIB介绍
    【神经网络与深度学习】GLOG介绍
    【神经网络与深度学习】GLOG介绍
    【神经网络与深度学习】gflags介绍
    【神经网络与深度学习】gflags介绍
    【神经网络与深度学习】Google Protocol Buffer介绍
    【神经网络与深度学习】Google Protocol Buffer介绍
    【CUDA开发】Thrust库
    【CUDA开发】Thrust库
    【CUDA开发】 CUDA Thrust 规约求和
  • 原文地址:https://www.cnblogs.com/xujinzhong/p/8676516.html
Copyright © 2011-2022 走看看