本文主要介紹iOS 利用MJRefresh實現自定義動畫的上拉刷新下拉加載效果,一般的類型(包括更新時間與loading圖案)這裡不做介紹.
要想實現此功能,首先得有一套load的圖片數組.
接下來就是實現過程:
引入頭文件:
#import "MJRefresh.h" //自定義一個方法實現 - (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; }
最後記得在數據加載完成時停掉loading
[_tableView.header endRefreshing];//下拉刷新數據完成時寫上 [_tableView.footer endRefreshing];//上拉加載數據完成時寫上
以上所述是小編給大家介紹的iOS利用MJRefresh實現自定義刷新動畫效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網站的支持!