下拉刷新在APP中的应用十分的广泛,其中MJRefresh更是第三方下拉刷新控件中的佼佼者。很多知名大厂商都在使用MJRefresh。MJRefresh中提供了非常丰富的接口,基本上满足了大部分开发者的需求,开发者也可以在MJRefresh的基础上进行二次封装,定制自己需要的样式,MJRefresh例程中提供了一个吃包子下拉控件样式。根据这个例程,可以说一般公司都可以制作出个性化的下拉控件。
下面我通过一个简单的例子来展示一下MJRefresh是有多么方便快捷。
我们创建一个基于MJRefreshGifHeader的类,大家可以自己命名MyRefreshGifHeader;然后在.m文件中实现init方法即可:
- (instancetype)init
{
if (self = [super init]) {
self.lastUpdatedTimeLabel.hidden = YES;
self.stateLabel.hidden = YES;
[self setImages:@[[UIImage imageNamed:@"reflesh1_60x55"], [UIImage imageNamed:@"reflesh2_60x55"], [UIImage imageNamed:@"reflesh3_60x55"]] forState:MJRefreshStateRefreshing];
[self setImages:@[[UIImage imageNamed:@"reflesh1_60x55"], [UIImage imageNamed:@"reflesh2_60x55"], [UIImage imageNamed:@"reflesh3_60x55"]] forState:MJRefreshStatePulling];
[self setImages:@[[UIImage imageNamed:@"reflesh1_60x55"], [UIImage imageNamed:@"reflesh2_60x55"], [UIImage imageNamed:@"reflesh3_60x55"]] forState:MJRefreshStateIdle];
}
return self;
}
如何使用这个刷新工具呢,也很简单,跟原生的MJRefresh的基本一致的,并没有很大的改动,
self.tableView.mj_header = [ALinRefreshGifHeader headerWithRefreshingBlock:^{
//在里面加载数据或者其他操作
}];
整个过程十分的简单清楚,代码也非常的简单,只需要把自己的图片加入进去就可以轻松实现自定义的下拉刷新控件。