iOS小技巧-MJRefresh简单整合

新版本的整合参考github:

https://github.com/CoderMJLee/MJRefresh

老版本的整合:

一个开源简单易用可上下拉刷新的开源框架。

下载MJRefresh的开源包,下载地址:http://download.csdn.net/detail/z548888240/9241235

将开源包导入自己的项目。

此时可能会出现错误,objc_msgSend(self.beginRefreshingTaget, self.beginRefreshingAction, self);


别急!

进入project界面,点击TARGETS下的项目名->build Settings->搜索"ENABLE_STRICT_OBJC_MSGSEND",并设置为NO。

ok,开源包成功整合进项目,下面就是三步整合UITableView的步骤了。


第一步,在控制器中导入头文件,顺便将之后会使用到的一个identifier也写在一起,同时定义一个区分上下拉的枚举类

//导入头文件
#import "MJRefresh.h"

//定义identifier
#define TableViewCellIdentifier @"TalkTableViewCellIdentifier"

//定义一个上下刷新的枚举:区分不同的刷新操作
typedef enum : NSUInteger {
    TableViewRefreshOptionHeader,//头部刷新
    TableViewRefreshOptionFooter,//底部刷新
} TableViewRefreshOption;


第二步,在创建了UITableView之后,进行下面的操作(复制到创建后的代码下面)

// 1.注册cell
[tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:TableViewCellIdentifier];
        
// 1.下拉刷新(进入刷新状态就会调用self的headerRereshing)
[tableView addHeaderWithTarget:self action:@selector(headerRereshing)];
tableView.headerPullToRefreshText = @"下拉刷新";
tableView.headerReleaseToRefreshText = @"松开刷新";
tableView.headerRefreshingText = @"正在加载...";
        
// 2.上拉加载更多(进入刷新状态就会调用self的footerRereshing)
[tableView addFooterWithTarget:self action:@selector(footerRereshing)];
tableView.footerPullToRefreshText = @"上拉加载更多";
tableView.footerReleaseToRefreshText = @"松开加载更多";
tableView.footerRefreshingText = @"正在加载...";

第三步,创建上下拉的响应事件处理方法

添加属性

@property (nonatomic,assign) TableViewRefreshOption tableViewOption;


/**
 *  头部刷新时,调用此方法
 */
- (void)headerRereshing
{
    //设置刷新操作为头部
    self.tableViewOption = TableViewRefreshOptionHeader;
    //...事件处理操作
    //停止刷新
    [self tableViewFinishRresh];
}

/**
 *  底部加载更多时,调用此方法
 */
- (void)footerRereshing
{
    //设置刷新操作为底部
    self.tableViewOption = TableViewRefreshOptionFooter;
    //...事件处理操作
    //停止刷新
    [self tableViewFinishRresh];
}

/**
 *  结束表格的刷新操作
 */
- (void)tableViewFinishRresh
{
    if (self.tableViewOption == TableViewRefreshOptionHeader) {
        [self.tableView headerEndRefreshing];
    }else if (self.tableViewOption == TableViewRefreshOptionFooter){
        [self.tableView footerEndRefreshing];
    }
    
}
 

 

搞定!(使用枚举TableViewRefreshOption和方法tableViewFinishRresh并不是必须的,可根据自己喜好,进行取舍)

下面是整合后的运行效果图:

头部下拉刷新:




底部上拉加载更多:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值