本文介紹了ios基于MJRefresh實(shí)現(xiàn)上拉刷新和下拉加載動畫效果,分享給大家,具體如下:
目錄
1、 頭部刷新動畫
2、尾部刷新動畫
頭部刷新動畫
#import <MJRefresh/MJRefresh.h>@interface HZNormalHeader : MJRefreshGifHeader@end
#import "HZNormalHeader.h"@implementation HZNormalHeader#pragma mark - 重寫父類的方法- (void)prepare{ [super prepare]; // 設(shè)置普通狀態(tài)的動畫圖片 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)的動畫圖片(一松開就會刷新的狀態(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)的動畫圖片 [self setImages:refreshingImages forState:MJRefreshStateRefreshing]; //隱藏時間 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]; }); }];
尾部刷新動畫
#import <MJRefresh/MJRefresh.h>@interface XZZNormalFooter : MJRefreshAutoGifFooter@end
#import "XZZNormalFooter.h"@implementation XZZNormalFooter#pragma mark - 重寫父類的方法- (void)prepare{ [super prepare]; // 設(shè)置普通狀態(tài)的動畫圖片 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)的動畫圖片(一松開就會刷新的狀態(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)的動畫圖片 [self setImages:refreshingImages forState:MJRefreshStateRefreshing]; //隱藏時間// 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]; }); }];
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選