ios基于MJRefresh實(shí)現(xiàn)上拉刷新和下拉加載動(dòng)畫(huà)效果
本文介紹了ios基于MJRefresh實(shí)現(xiàn)上拉刷新和下拉加載動(dòng)畫(huà)效果,分享給大家,具體如下:
目錄
1、 頭部刷新動(dòng)畫(huà)
2、尾部刷新動(dòng)畫(huà)
頭部刷新動(dòng)畫(huà)
#import <MJRefresh/MJRefresh.h> @interface HZNormalHeader : MJRefreshGifHeader @end
#import "HZNormalHeader.h"
@implementation HZNormalHeader
#pragma mark - 重寫(xiě)父類的方法
- (void)prepare{
[super prepare];
// 設(shè)置普通狀態(tài)的動(dòng)畫(huà)圖片
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īng)顟B(tài)的動(dòng)畫(huà)圖片(一松開(kāi)就會(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īng)顟B(tài)的動(dòng)畫(huà)圖片
[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)畫(huà)
#import <MJRefresh/MJRefresh.h> @interface XZZNormalFooter : MJRefreshAutoGifFooter @end
#import "XZZNormalFooter.h"
@implementation XZZNormalFooter
#pragma mark - 重寫(xiě)父類的方法
- (void)prepare{
[super prepare];
// 設(shè)置普通狀態(tài)的動(dòng)畫(huà)圖片
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īng)顟B(tài)的動(dòng)畫(huà)圖片(一松開(kāi)就會(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īng)顟B(tài)的動(dòng)畫(huà)圖片
[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];
});
}];
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
iOS 中Swift仿微信添加提示小紅點(diǎn)功能(無(wú)數(shù)字)
這篇文章主要介紹了iOS 中Swift仿微信添加提示小紅點(diǎn)功能(無(wú)數(shù)字),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-05-05
iOS中關(guān)于Taptic-Engine震動(dòng)反饋的深入解析
這篇文章主要給大家介紹了關(guān)于iOS中關(guān)于Taptic-Engine震動(dòng)反饋的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
iOS 實(shí)現(xiàn)類似QQ分組樣式的兩種方式
這篇文章主要介紹了iOS 實(shí)現(xiàn)類似QQ分組樣式的兩種方式,思路很簡(jiǎn)單,對(duì)模型數(shù)據(jù)操作或則控制界面顯示,需要的朋友可以參考下2017-07-07
iOS開(kāi)發(fā)教程之識(shí)別圖片中二維碼功能的實(shí)現(xiàn)
長(zhǎng)按識(shí)別二維碼這個(gè)功能相信對(duì)大家來(lái)說(shuō)都不陌生,最近工作中就遇到了這個(gè)需求,所以下面這篇文章主要給大家介紹了關(guān)于利用iOS識(shí)別圖片中二維碼的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-07-07
iOS 二維碼掃描相關(guān)功能實(shí)現(xiàn)
這篇文章主要介紹了iOS 二維碼掃描相關(guān)功能實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09

