下拉刷新在APP中的應(yīng)用十分的廣泛,其中MJRefresh更是第三方下拉刷新控件中的佼佼者。很多知名大廠商都在使用MJRefresh。MJRefresh中提供了非常豐富的接口,基本上滿足了大部分開發(fā)者的需求,開發(fā)者也可以在MJRefresh的基礎(chǔ)上進(jìn)行二次封裝,定制自己需要的樣式,MJRefresh例程中提供了一個吃包子下拉控件樣式。根據(jù)這個例程,可以說一般公司都可以制作出個性化的下拉控件。
下面我通過一個簡單的例子來展示一下MJRefresh是有多么方便快捷。
我們創(chuàng)建一個基于MJRefreshGifHeader的類,大家可以自己命名MyRefreshGifHeader;然后在.m文件中實現(xiàn)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:^{
//在里面加載數(shù)據(jù)或者其他操作
}];
整個過程十分的簡單清楚,代碼也非常的簡單,只需要把自己的圖片加入進(jìn)去就可以輕松實現(xiàn)自定義的下拉刷新控件。