亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS上下拉刷新控件MJRefresh使用方法詳解

2020-07-26 02:54:56
字體:
來源:轉載
供稿:網友

MJRefresh是一個好用的上下拉刷新的控件,github地址如下:https://github.com/CoderMJLee/MJRefresh很多app都使用這個控件,我們也來了解一下它的用法。下面主要是介紹在UITableView下的使用。


使用

在github上下載之后,將MJRefresh文件添加到項目中,并且在需要使用的文件上引入MJRefresh.h。然后在該文件的viewDidLoad方法中指定tableView的header和footer,如下:

#import "MJRefreshTableViewController.h"#import "MJRefresh.h"@interface MJRefreshTableViewController ()@property (strong, nonatomic) IBOutlet UITableView *tableView;@end@implementation MJRefreshTableViewController- (void)viewDidLoad {[super viewDidLoad];__weak typeof(self) weakSelf = self;self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ //刷新時候,需要執行的代碼。一般是請求最新數據,請求成功之后,刷新列表 [weakSelf loadNewData];}];self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ //刷新時候,需要執行的代碼。一般是請求更多數據,請求成功之后,刷新列表 [weakSelf loadNoreData];}];}/** 請求獲取最新的數據 */- (void)loadNewData {NSLog(@"請求獲取最新的數據");//這里假設2秒之后獲取到了最新的數據,刷新tableview,并且結束刷新控件的刷新狀態__weak typeof(self) weakSelf = self;dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ //刷新列表 [weakSelf.tableView reloadData]; //拿到當前的刷新控件,結束刷新狀態 [weakSelf.tableView.mj_header endRefreshing];});}/** 請求獲取更多的數據 */- (void)loadNoreData {NSLog(@"請求獲取更多的數據");//這里假設2秒之后獲取到了更多的數據,刷新tableview,并且結束刷新控件的刷新狀態__weak typeof(self) weakSelf = self;dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ //刷新列表 [weakSelf.tableView reloadData]; //拿到當前的刷新控件,結束刷新狀態 [weakSelf.tableView.mj_footer endRefreshing];});}@end

按照app的實際情況來說,loadNoreData 和 loadNewData方法應該是發送數據請求,而結束刷新控件的刷新狀態應該是在請求失敗或者請求成功的方法中調用。

如果是帶動圖的刷新控件的話,就直接替換在viewDidLoad中的寫法即可。

- (void)viewDidLoad {[super viewDidLoad];__weak typeof(self) weakSelf = self;MJRefreshGifHeader *header = [MJRefreshGifHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];[header setImages:idleImages forState:MJRefreshStateIdle];[header setImages:pullingImages forState:MJRefreshStatePulling];[header setImages:refreshingImages forState:MJRefreshStateRefreshing];self.tableView.mj_header = header;}

其中idleImages,pullingImages,refreshingImages是圖片數組,分別對應普通閑置狀態,松開就可以進行刷新的狀態,正在刷新中的狀態等的圖片。注意,idleImages等圖片數組存儲的對象是UIImage。

如果只設置了refreshingImages,只要在刷新狀態下顯示圖片,其他狀態不顯示圖片。如果設置了idleImages或者pullingImages其中之一,所有狀態下都顯示設置的圖片。
同理,設置底部帶動畫效果的footer:

- (void)viewDidLoad {[super viewDidLoad];MJRefreshBackGifFooter *footer = [MJRefreshBackGifFooter footerWithRefreshingTarget:self refreshingAction:@selector(endRefreshing)];[footer setImages:idleImages forState:MJRefreshStateIdle];[footer setImages:pullingImages forState:MJRefreshStatePulling];[footer setImages:refreshingImages forState:MJRefreshStateRefreshing];self.tableView.mj_footer = footer;}

PO一張效果圖:

header.stateLabel.hidden = YES;header.lastUpdatedTimeLabel.hidden = YES;

如果隱藏右邊狀態或者更新時間其中一行文字,則顯示的一行文字會垂直居中,效果如下:

如果把右邊的兩行文字都隱藏了,只顯示圖片,則圖片居中,效果如下:

如果覺得動畫頻率過快或者過低,可以修改MJRefresh以下位置。

使用以下方法還可以修改顯示文字

[header setTitle:@"下拉刷新" forState:MJRefreshStateIdle];[header setTitle:@"釋放開始刷新哦~" forState:MJRefreshStatePulling];[header setTitle:@"正在快馬加鞭地刷新著呢" forState:MJRefreshStateRefreshing];

其他控件的用法

UICollectionView 和UIScrollView的用法與UITableView的用法一致,只需將上面所說的tableView.mj_header 改成 collectionView.mj_header 和 scrollView.mj_header 即可。例如:

self.collectionView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ //刷新時候,需要執行的代碼。一般是請求最新數據,請求成功之后,刷新列表 [weakSelf loadNewData];}];self.scrollView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ //刷新時候,需要執行的代碼。一般是請求最新數據,請求成功之后,刷新列表 [weakSelf loadNewData];}];

又因UIWebView 自帶一個UIScrollView的屬性,所以UIWebView也可以使用MJRefresh,用法如下:

self.webView.scrollView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ //刷新時候,需要執行的代碼。一般是請求最新數據,請求成功之后,刷新列表 [weakSelf loadNewData];}];

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频大全| 欧美激情一区二区久久久| 国产一区二区丝袜高跟鞋图片| 亚洲欧美综合图区| 欧美视频一区二区三区…| 亚洲电影第1页| 亚洲男女自偷自拍图片另类| 久久亚洲国产精品| 欧美日韩亚洲精品一区二区三区| 日韩精品免费观看| 91九色国产社区在线观看| 亚洲精品久久7777777| 亚洲日本成人女熟在线观看| 欧美日韩美女视频| 欧美做受高潮1| 欧美视频二区36p| 国产精品久久久久久久久久三级| 国内精品400部情侣激情| 国产精品香蕉在线观看| 欧美日韩黄色大片| 国外成人在线视频| 国产精品男女猛烈高潮激情| 亚洲色图激情小说| 日韩大陆毛片av| 亚洲国产私拍精品国模在线观看| 欧美日韩中国免费专区在线看| 国产日韩欧美另类| 欧美午夜性色大片在线观看| 亚洲大尺度美女在线| 欧美激情视频网| 国产一区二区三区欧美| 中文字幕日韩av电影| 欧美极品少妇xxxxx| 欧美日韩成人免费| 亚洲欧美日韩直播| 97在线免费观看视频| 国产成人欧美在线观看| 欧美中文在线字幕| 久久这里有精品视频| 国产精品视频1区| 色偷偷综合社区| 亚洲九九九在线观看| 欧美高清激情视频| 亚洲mm色国产网站| 欧美色另类天堂2015| 色偷偷亚洲男人天堂| 欧美精品久久一区二区| 国产精品成人aaaaa网站| 欧美精品电影在线| 色综合久久悠悠| 欧美精品九九久久| 成人久久18免费网站图片| 成人免费视频xnxx.com| 亚洲色图色老头| 91精品久久久久久久久久| 亚洲图片在线综合| 68精品国产免费久久久久久婷婷| 亚洲国产精品yw在线观看| 亚洲香蕉伊综合在人在线视看| 亚洲电影免费观看高清完整版| 九九热精品视频国产| 91免费观看网站| 欧美老少配视频| 亚洲综合av影视| 亚洲a级在线播放观看| 中文字幕av一区| 亚洲日本欧美中文幕| 国产精品99免视看9| 国产精品专区一| 午夜精品视频在线| 亚洲欧美日本精品| 日韩av中文字幕在线免费观看| 日韩女优人人人人射在线视频| 亚洲第一区第一页| 亚洲一区二区久久久| 国产亚洲一区二区在线| 欧美一级片在线播放| 欧美日本中文字幕| 一二美女精品欧洲| 国产精品扒开腿做爽爽爽男男| 久久精品国产亚洲精品2020| 91中文字幕在线观看| 欧美精品一二区| 国产精品入口免费视频一| 97精品久久久中文字幕免费| 亚洲精品日韩激情在线电影| 日本精品久久中文字幕佐佐木| 亚洲欧美日韩区| 日韩av免费看网站| 日韩av影视综合网| 欧美午夜视频一区二区| 欧美有码在线观看视频| 国产欧美日韩综合精品| 亚洲视频网站在线观看| 亚洲精品福利免费在线观看| 色系列之999| 国产精品欧美日韩| 久久中文久久字幕| 2019中文字幕免费视频| 一区二区三区无码高清视频| 97在线看福利| 美日韩精品免费观看视频| 久久综合伊人77777蜜臀| 青草青草久热精品视频在线观看| 国产成人精品最新| 久久亚洲国产成人| 中文字幕日韩欧美在线视频| 午夜精品美女自拍福到在线| 久久人人97超碰精品888| 最近中文字幕mv在线一区二区三区四区| 欧洲日本亚洲国产区| 91精品国产色综合久久不卡98口| 国产男人精品视频| 国产91精品久| 国产亚洲欧洲黄色| 亚洲激情第一页| 国产精品第七十二页| 国产精品美女999| 中文字幕一区电影| 91视频国产一区| 久久精品这里热有精品| 成人激情综合网| 久久精品视频在线| 精品中文字幕在线观看| 国产精品视频中文字幕91| 成人欧美在线观看| 日本精品免费观看| 亚洲国内精品在线| 国产欧美一区二区白浆黑人| 国产91成人video| 亚洲欧美成人一区二区在线电影| 欧美激情精品久久久久久黑人| 国产精品久久网| 黄色一区二区在线| 国产精品免费电影| 黑人巨大精品欧美一区二区免费| 日韩一区视频在线| 欧美精品videofree1080p| 九九视频直播综合网| 欧美成人sm免费视频| 国产精品久久网| 亚州成人av在线| 亚洲国产91色在线| 日韩av免费看网站| 亚洲跨种族黑人xxx| 欧美午夜电影在线| 日本精品一区二区三区在线播放视频| 最近2019免费中文字幕视频三| 久久精品91久久久久久再现| 久久影视电视剧免费网站清宫辞电视| 一区二区三区国产视频| 久久久久免费视频| 国产在线高清精品| 欧美成人精品在线播放| 欧美性资源免费| 日韩国产高清视频在线| 国产精品日日摸夜夜添夜夜av| 精品一区二区三区四区在线| 青青在线视频一区二区三区| 亚洲高清一区二| 亚洲综合视频1区| 亚洲天堂av综合网| 国产精品99久久久久久久久久久久| 亚洲iv一区二区三区|