iOS MJRefresh 下拉刷新和上拉加載更多的使用

MJRefresh 是一個(gè)流行的 iOS 下拉刷新和上拉加載更多的庫。它簡(jiǎn)單易用,支持自定義,能夠讓你輕松為 UIScrollView 及其子類(如 UITableViewUICollectionView)添加下拉刷新和上拉加載功能。以下是 MJRefresh 的詳細(xì)使用方法:

安裝

CocoaPods

使用 CocoaPods 是安裝 MJRefresh 的推薦方式。在你的 Podfile 中添加以下行:

pod 'MJRefresh'

然后運(yùn)行 pod install 命令。

基本使用

導(dǎo)入 MJRefresh

在你需要使用 MJRefresh 的文件中導(dǎo)入框架:

#import <MJRefresh/MJRefresh.h>

如果你在 Swift 項(xiàng)目中使用,確保你的橋接頭文件正確配置了導(dǎo)入語句,或直接在 Swift 文件中導(dǎo)入:

import MJRefresh

添加下拉刷新

對(duì)于 UITableViewUICollectionView,添加下拉刷新非常簡(jiǎn)單:

// Objective-C
self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];
// Swift
tableView.mj_header = MJRefreshNormalHeader(refreshingTarget: self, refreshingAction: #selector(loadNewData))

其中,loadNewData 是當(dāng)觸發(fā)下拉刷新時(shí),你希望執(zhí)行的方法。

添加上拉加載更多

同樣,添加上拉加載也很直觀:

// Objective-C
self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];
// Swift
tableView.mj_footer = MJRefreshAutoNormalFooter(refreshingTarget: self, refreshingAction: #selector(loadMoreData))

loadMoreData 是當(dāng)觸發(fā)上拉加載時(shí),你希望執(zhí)行的方法。

結(jié)束刷新

記得在加載數(shù)據(jù)的方法中,加載數(shù)據(jù)完成后結(jié)束刷新狀態(tài):

// Objective-C
// 結(jié)束下拉刷新
[self.tableView.mj_header endRefreshing];
// 結(jié)束上拉加載更多
[self.tableView.mj_footer endRefreshing];
// Swift
// 結(jié)束下拉刷新
tableView.mj_header?.endRefreshing()
// 結(jié)束上拉加載更多
tableView.mj_footer?.endRefreshing()

高級(jí)用法

自定義刷新控件

MJRefresh 支持高度自定義,包括文本、顏色、圖標(biāo)等。例如,自定義下拉刷新控件:

MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];
header.lastUpdatedTimeLabel.hidden = YES; // 隱藏時(shí)間標(biāo)簽
header.stateLabel.hidden = YES; // 隱藏狀態(tài)標(biāo)簽
self.tableView.mj_header = header;

在 Swift 中:

let header = MJRefreshNormalHeader(refreshingTarget: self, refreshingAction: #selector(loadNewData))
header.lastUpdatedTimeLabel.isHidden = true // 隱藏時(shí)間標(biāo)簽
?著作權(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)容