一、先从GitHub下载最新的MjRefresh,或者直接用Pods,然后把库添加到项目中。
二、导入“MJRefresh.h”的文件
1.定义一个NSMutableNSArray数组
@property (nonatomic,strong)NSMutableArray *array;
2.初始化这个数组_array = [[NSMutableArrayalloc] initWithObjects:@"java",@"c/c++",@"python",@"java",@"c/c++",@"python",@"objective-c",@"javascript",nil];
三、创建一个刷新方法或者直接在viewDidLoad中写
- (void)setupTable{
//普通刷新-不带图片
//上拉刷新
self.tableView.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(LoadData)];
//回调block与上面一个方法是一个意思
// self.tableView.header= [MJRefreshNormalHeader headerWithRefreshingBlock:^{
// [self loadData];
// }];
//下拉刷新
// 尾部刷新控件
self.tableView.footer = [MJRefreshAutoNormalFooterfooterWithRefreshingTarget:selfrefreshingAction:@selector(loadMoreData)];
}
pragma mark - 请求数据方法
/**
* 发送请求并获取数据方法
*/
//上拉刷新数据
- (void)loadData
{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[_arrayaddObjectsFromArray:[[NSArrayalloc] initWithObjects:@"c#",@"php",@"t-sql",@"objective-c",@"javascript",nil]];
// 刷新数据(若不刷新数据会显示不出)
[self.tableViewreloadData];
[self.tableView.headerendRefreshing];
});
//尾部刷新获取数据
- (void)loadMoreData
{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[_arrayaddObjectsFromArray:[[NSArrayalloc] initWithObjects:@"c#",@"php",@"1",@"2",@"3",nil]];
// 刷新数据(若不刷新数据会显示不出)
[self.tableViewreloadData];
[self.tableView.footerendRefreshing];
});
}
四、如果想刷新带图片效果,可以参考MJRefresh 下面这几个自定义类
// 自定义的header
#import "MJChiBaoZiHeader.h"
#import "MJChiBaoZiFooter.h"
#import "MJChiBaoZiFooter2.h"
#import "MJDIYHeader.h"
#import "MJDIYAutoFooter.h"
#import "MJDIYBackFooter.h"
同样,导入这些类名,然后把上面的刷新方法换成下面这样的方法
// 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadNewData方法)
self.tableView.header = [MJChiBaoZiHeaderheaderWithRefreshingTarget:selfrefreshingAction:@selector(loadData)];
五、使用方法,不一定用得到// 马上进入刷新状态
// [self.tableView.header beginRefreshing];
其他的方法可以参考MJRefresh 类库中得MJTableViewController、MJCollectionViewController、MJWebViewControllergithub:地址 https://github.com/daniel1214/OutshotTabbarDemo.git