本文主要介绍iOS 利用MJRefresh实现自定义动画的上拉刷新下拉加载效果,一般的类型(包括更新时间与loading图案)这里不做介绍.
要想实现此功能,首先得有一套load的图片数组.
接下来就是实现过程:
引入头文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# import "MJRefresh.h"
//自定义一个方法实现
- ( void )prepareRefresh
{
NSMutableArray *headerImages = [NSMutableArray array];
for ( int i = 1 ; i <= 4 ; i++) {
UIImage *image = [UIImage imageNamed:[NSStringstringWithFormat:@ "topload%d" ,i]];
[headerImages addObject:image];
}
MJRefreshGifHeader *gifHeader = [MJRefreshGifHeaderheaderWithRefreshingBlock:^{
//下拉刷新要做的操作.
}];
gifHeader.stateLabel.hidden = YES;
gifHeader.lastUpdatedTimeLabel.hidden = YES;
[gifHeader setImages:@[headerImages[ 0 ]]forState:MJRefreshStateIdle];
[gifHeader setImages:headerImages forState:MJRefreshStateRefreshing];
_tableView.header = gifHeader;
NSMutableArray *footerImages = [NSMutableArray array];
for ( int i = 1 ; i <= 4 ; i++) {
UIImage *image = [UIImage imageNamed:[NSStringstringWithFormat:@ "footerload%d" ,i]];
[footerImages addObject:image];
}
MJRefreshAutoGifFooter *gifFooter = [MJRefreshAutoGifFooterfooterWithRefreshingBlock:^{
//上拉加载需要做的操作.
}];
gifFooter.stateLabel.hidden = YES;
gifFooter.refreshingTitleHidden = YES;
[gifFooter setImages:@[footerImages[ 0 ]]forState:MJRefreshStateIdle];
[gifFooter setImages:footerImages forState:MJRefreshStateRefreshing];
_tableView.footer = gifFooter;
}
|
最后记得在数据加载完成时停掉loading
1
2
|
[_tableView.header endRefreshing]; //下拉刷新数据完成时写上
[_tableView.footer endRefreshing]; //上拉加载数据完成时写上
|
以上所述是小编给大家介绍的iOS利用MJRefresh实现自定义刷新动画效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/hxpp777/article/details/54946960