溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ios基于MJRefresh如何實(shí)現(xiàn)上拉刷新和下拉加載動(dòng)畫效果

發(fā)布時(shí)間:2021-07-21 14:36:16 來(lái)源:億速云 閱讀:470 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)ios基于MJRefresh如何實(shí)現(xiàn)上拉刷新和下拉加載動(dòng)畫效果,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

目錄本文介紹了ios基于MJRefresh實(shí)現(xiàn)上拉刷新和下拉加載動(dòng)畫效果,分

1、 頭部刷新動(dòng)畫

2、尾部刷新動(dòng)畫

頭部刷新動(dòng)畫

#import <MJRefresh/MJRefresh.h>

@interface HZNormalHeader : MJRefreshGifHeader

@end
#import "HZNormalHeader.h"

@implementation HZNormalHeader

#pragma mark - 重寫父類的方法
- (void)prepare{
  [super prepare];

  // 設(shè)置普通狀態(tài)的動(dòng)畫圖片
  NSMutableArray *idleImages = [NSMutableArray array];
  for (NSUInteger i = 1; i<=60; i++) {
    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"dropdown_anim__000%zd", i]];
    [idleImages addObject:image];
  }
  [self setImages:idleImages forState:MJRefreshStateIdle];

  // 設(shè)置即將刷新狀態(tài)的動(dòng)畫圖片(一松開就會(huì)刷新的狀態(tài))
  NSMutableArray *refreshingImages = [NSMutableArray array];
  for (NSUInteger i = 1; i<=3; i++) {
    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"dropdown_loading_0%zd", i]];
    [refreshingImages addObject:image];
  }
  [self setImages:refreshingImages forState:MJRefreshStatePulling];

  // 設(shè)置正在刷新狀態(tài)的動(dòng)畫圖片
  [self setImages:refreshingImages forState:MJRefreshStateRefreshing];

  //隱藏時(shí)間
  self.lastUpdatedTimeLabel.hidden = NO;
  //隱藏狀態(tài)
  self.stateLabel.hidden = NO;
}

實(shí)現(xiàn)部分

self.tableView.mj_header = [HZNormalHeader headerWithRefreshingBlock:^{
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
      [self.tableView.mj_header endRefreshing];
    });

  }];

尾部刷新動(dòng)畫

#import <MJRefresh/MJRefresh.h>

@interface XZZNormalFooter : MJRefreshAutoGifFooter

@end
#import "XZZNormalFooter.h"

@implementation XZZNormalFooter


#pragma mark - 重寫父類的方法
- (void)prepare{
  [super prepare];

  // 設(shè)置普通狀態(tài)的動(dòng)畫圖片
  NSMutableArray *idleImages = [NSMutableArray array];
  for (NSUInteger i = 1; i<=60; i++) {
    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"dropdown_anim__000%zd", i]];
    [idleImages addObject:image];
  }
  [self setImages:idleImages forState:MJRefreshStateIdle];

  // 設(shè)置即將刷新狀態(tài)的動(dòng)畫圖片(一松開就會(huì)刷新的狀態(tài))
  NSMutableArray *refreshingImages = [NSMutableArray array];
  for (NSUInteger i = 1; i<=3; i++) {
    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"dropdown_loading_0%zd", i]];
    [refreshingImages addObject:image];
  }
  [self setImages:refreshingImages forState:MJRefreshStatePulling];

  // 設(shè)置正在刷新狀態(tài)的動(dòng)畫圖片
  [self setImages:refreshingImages forState:MJRefreshStateRefreshing];

  //隱藏時(shí)間
//  self.lastUpdatedTimeLabel.hidden = NO;
  /*隱藏*/
  self.refreshingTitleHidden = YES;
  //隱藏狀態(tài)
  self.stateLabel.hidden = YES;
}

@end

實(shí)現(xiàn)部分

self.tableView.mj_footer = [XZZNormalFooter footerWithRefreshingBlock:^{
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
      [self.tableView.mj_footer endRefreshing];
    });
  }];

關(guān)于“ios基于MJRefresh如何實(shí)現(xiàn)上拉刷新和下拉加載動(dòng)畫效果”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

ios
AI