ios基于MJRefresh實現(xiàn)上拉刷新和下拉加載動畫效果
更新時間:2017年08月12日 08:56:00 作者:辛小二
本篇文章主要介紹了ios基于MJRefresh實現(xiàn)上拉刷新和下拉加載動畫效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文介紹了ios基于MJRefresh實現(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; }
實現(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
實現(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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
iOS 中Swift仿微信添加提示小紅點功能(無數(shù)字)
這篇文章主要介紹了iOS 中Swift仿微信添加提示小紅點功能(無數(shù)字),非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-05-05iOS中關(guān)于Taptic-Engine震動反饋的深入解析
這篇文章主要給大家介紹了關(guān)于iOS中關(guān)于Taptic-Engine震動反饋的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11iOS開發(fā)教程之識別圖片中二維碼功能的實現(xiàn)
長按識別二維碼這個功能相信對大家來說都不陌生,最近工作中就遇到了這個需求,所以下面這篇文章主要給大家介紹了關(guān)于利用iOS識別圖片中二維碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-07-07