ios 는 MJrefresh 를 바탕 으로 위 당 김 새로 고침 과 아래 당 김 애니메이션 효 과 를 실현 합 니 다.

본 고 는 ios 가 MJrefresh 를 바탕 으로 상 라 리 셋 과 하 라 로 딩 애니메이션 효 과 를 실현 하고 여러분 에 게 공유 하 는 것 을 소개 합 니 다.구체 적 으로 다음 과 같 습 니 다.
목차
1.머리 새로 고침 애니메이션
2.끝부분 리 셋 애니메이션
머리 새로 고침 애니메이션

#import <MJRefresh/MJRefresh.h>

@interface HZNormalHeader : MJRefreshGifHeader

@end

#import "HZNormalHeader.h"

@implementation HZNormalHeader

#pragma mark -        
- (void)prepare{
  [super prepare];

  //            
  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];

  //              (          )
  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];

  //              
  [self setImages:refreshingImages forState:MJRefreshStateRefreshing];

  //    
  self.lastUpdatedTimeLabel.hidden = NO;
  //    
  self.stateLabel.hidden = NO;
}

실현 부분

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];
    });

  }];
끝 부분 새로 고침 애니메이션

#import <MJRefresh/MJRefresh.h>

@interface XZZNormalFooter : MJRefreshAutoGifFooter

@end

#import "XZZNormalFooter.h"

@implementation XZZNormalFooter


#pragma mark -        
- (void)prepare{
  [super prepare];

  //            
  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];

  //              (          )
  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];

  //              
  [self setImages:refreshingImages forState:MJRefreshStateRefreshing];

  //    
//  self.lastUpdatedTimeLabel.hidden = NO;
  /*  */
  self.refreshingTitleHidden = YES;
  //    
  self.stateLabel.hidden = YES;
}

@end

실현 부분

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];
    });
  }];
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기