MJRefresh 下拉刷新

MJRefresh 下拉刷新

?pod 'MJRefresh', '~> 3.1.15.1'

#import <MJRefresh/MJRefresh.h>

MJRefresh 使用了UIScrollView Category

結(jié)構(gòu)看圖


結(jié)構(gòu)圖

一、下拉刷新

默認(rèn)使用MJRefreshNormalHeader 初始化方法:

1、

+ (instancetype)headerWithRefreshingBlock:(MJRefreshComponentRefreshingBlock)refreshingBlock;

+ (instancetype)headerWithRefreshingTarget:(id)target refreshingAction:(SEL)action;


MJRefreshNormalHeader *head = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(SEL)];

MJRefreshNormalHeader *head = [MJRefreshNormalHeader headerWithRefreshingBlock:^{

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

????[self.tableView reload];

????[self.tableView.mj_header endRefreshing];//結(jié)束刷新動(dòng)畫

});

}];

選擇中文語(yǔ)言。默認(rèn)帶箭頭,描述文字,最后刷新時(shí)間。

也可以根據(jù)狀態(tài)自定義,狀態(tài)枚舉

/** 設(shè)置state狀態(tài)下的文字 */

- (void)setTitle:(NSString *)title forState:(MJRefreshState)state;

/** 刷新控件的狀態(tài) */

typedef NS_ENUM(NSInteger, MJRefreshState) {

/** 普通閑置狀態(tài) */

MJRefreshStateIdle = 1,

/** 松開(kāi)就可以進(jìn)行刷新的狀態(tài) */

MJRefreshStatePulling,

/** 正在刷新中的狀態(tài) */

MJRefreshStateRefreshing,

/** 即將刷新的狀態(tài) */

MJRefreshStateWillRefresh,

/** 所有數(shù)據(jù)加載完畢,沒(méi)有更多的數(shù)據(jù)了 */

MJRefreshStateNoMoreData

};

eg:

[header setTitle:@"松開(kāi)刷新數(shù)據(jù)" forState:MJRefreshStatePulling];

最后設(shè)置需要下拉刷新的控件,

self.tableView.mj_header = header.

2、添加吃包子GIF動(dòng)畫

MJRefreshGifHeader *gifHeader = [MJRefreshGifHeader?headerWithRefreshingTarget:self refreshingAction:@selector(mjRefreshHeader)];

設(shè)置不同狀態(tài)的imageArray

- (void)setImages:(NSArray *)images forState:(MJRefreshState)state;

NSArray *idleImageAry = [self IdleImageArray];

NSArray *refreshImageAry = [self PullRefreshingImageAry];

[gifHeader setImages:idleImageAry forState:MJRefreshStateIdle];

[gifHeader setImages:refreshImageAry forState:MJRefreshStatePulling];

[gifHeader setImages:refreshImageAry forState:MJRefreshStateRefreshing];

self.tableView.mj_header =?gifHeader;

圖片資源


/** 設(shè)置普通狀態(tài)的動(dòng)畫圖片 */

- (NSArray *)IdleImageArray{

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

}

return idleImages;

}

/** 設(shè)置即將刷新?tīng)顟B(tài)的動(dòng)畫圖片(一松開(kāi)就會(huì)刷新的狀態(tài))? 設(shè)置正在刷新?tīng)顟B(tài)的動(dòng)畫圖片 */

- (NSArray *)PullRefreshingImageAry

{

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

}

return refreshingImages;

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容