本文主要介紹iOS 利用MJRefresh實(shí)現(xiàn)自定義動畫的上拉刷新下拉加載效果,一般的類型(包括更新時(shí)間與loading圖案)這里不做介紹.
要想實(shí)現(xiàn)此功能,首先得有一套load的圖片數(shù)組.
接下來就是實(shí)現(xiàn)過程:
引入頭文件:
#import "MJRefresh.h"
//自定義一個(gè)方法實(shí)現(xiàn)- (void)PRepareRefresh
{
NSMutableArray *headerImages = [NSMutableArray array];
for (int i = 1; i <= 4; i++) {
UIImage *image = [UIImage imageNamed:[NSStringstringWithFormat:@"topload%d",i]];
[headerImages addObject:image];
}
MJRefreshGifHeader *gifHeader = [MJRefreshGifHeaderheaderWithRefreshingBlock:^{
//下拉刷新要做的操作.
}];
gifHeader.stateLabel.hidden = YES;
gifHeader.lastUpdatedTimeLabel.hidden = YES;
[gifHeader setImages:@[headerImages[0]]forState:MJRefreshStateIdle];
[gifHeader setImages:headerImages forState:MJRefreshStateRefreshing];
_tableView.header = gifHeader;
NSMutableArray *footerImages = [NSMutableArray array];
for (int i = 1; i <= 4; i++) {
UIImage *image = [UIImage imageNamed:[NSStringstringWithFormat:@"footerload%d",i]];
[footerImages addObject:image];
}
MJRefreshAutoGifFooter *gifFooter = [MJRefreshAutoGifFooterfooterWithRefreshingBlock:^{
//上拉加載需要做的操作.
}];
gifFooter.stateLabel.hidden = YES;
gifFooter.refreshingTitleHidden = YES;
[gifFooter setImages:@[footerImages[0]]forState:MJRefreshStateIdle];
[gifFooter setImages:footerImages forState:MJRefreshStateRefreshing];
_tableView.footer = gifFooter;
}
最后記得在數(shù)據(jù)加載完成時(shí)停掉loading[_tableView.header endRefreshing];//下拉刷新數(shù)據(jù)完成時(shí)寫上
[_tableView.footer endRefreshing];//上拉加載數(shù)據(jù)完成時(shí)寫上
新聞熱點(diǎn)
疑難解答
圖片精選