IOS-MJRefresh上下拉刷新 分类

本文介绍了一个针对UITableView的刷新控件封装方法,包括上拉加载和下拉刷新功能的实现。通过自定义block来处理刷新逻辑,使用MJRefresh库简化刷新操作,提供了addRefreshForPullDown、addRefreshForPullUp等方法,以及endRefresh、NoMoreData和MoreData等状态控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.h文件

 

#import <UIKit/UIKit.h>

#import <MJRefresh.h>

 

typedef void(^refreshAction)(void);

@interface UITableView (AddRefresh)

 

/**

 添加上拉下拉控件

 */

- (void)addRefreshForPullDown:(refreshAction)PullDown PullUp:(refreshAction)PullUp;

 

/**

 添加下拉控件

 */

- (void)addRefreshForPullDown:(refreshAction)PullDown;

 

/**

 添加上拉控件

 */

- (void)addRefreshForPullUp:(refreshAction)PullUp;

    

- (void)endRefresh;

- (void)NoMoreData;

- (void)MoreData;

 

@end

 

.m文件

 

 

#import "UITableView+AddRefresh.h"

 

@implementation UITableView (AddRefresh)

 

- (void) addRefreshForPullDown:(refreshAction)PullDown PullUp:(refreshAction)PullUp{

    [self addRefreshForPullDown:PullDown];

    [self addRefreshForPullUp:PullUp];

}

 

- (void)addRefreshForPullDown:(refreshAction)PullDown{

    MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{

        PullDown();

    }];

    header.lastUpdatedTimeLabel.hidden = YES;

    self.mj_header = header;

}

 

- (void)addRefreshForPullUp:(refreshAction)PullUp{

    MJRefreshAutoNormalFooter *footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{

        PullUp();

    }];

    self.mj_footer =footer;

}

 

- (void)endRefresh{

    [self.mj_header endRefreshing];

    [self.mj_footer endRefreshing];

}

 

- (void)NoMoreData{

    [self.mj_header endRefreshing];

    [self.mj_footer endRefreshingWithNoMoreData];

}

 

- (void)MoreData{

    [self.mj_footer resetNoMoreData];

}

 

 

 

@end

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值