MJRefresh获取途径:https://github.com/CoderMJLee/MJRefresh
导入文件包MJRefresh
//引入头文件
#import "MJRefresh.h"
//声明 tableView
@property(nonatomic, strong) UITableView *tableView;
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 154, self.view.frame.size.width, self.view.frame.size.height-200) style:UITableViewStylePlain];
self.tableView.delegate = self;
self.tableView.dataSource = self;
[self.view addSubview:self.tableView];
self.tableView.editing = NO;
// 添加头部的下拉刷新
MJRefreshNormalHeader *header = [[MJRefreshNormalHeader alloc] init];
[header setRefreshingTarget:self refreshingAction:@selector(headerClick)];
self.tableView.mj_header = header;
// 添加底部的上拉加载
MJRefreshBackNormalFooter *footer = [[MJRefreshBackNormalFooter alloc] init];
[footer setRefreshingTarget:self refreshingAction:@selector(footerClick)];
self.tableView.mj_footer = footer;
// 头部的下拉刷新触发事件
- (void)headerClick {
// 可在此处实现下拉刷新时要执行的代码
//1请求数据
//2刷新数据 tableView 更新数据 不重绘
[self.tableView reloadData];
// 模拟延迟3秒
[NSThread sleepForTimeInterval:3];
// 结束刷新
[self.tableView.mj_header endRefreshing];
}
// 底部的上拉加载触发事件
- (void)footerClick {
// 可在此处实现上拉加载时要执行的代码
// 1请求数据
//2刷新数据 tableView 更新数据 不重绘
[self.tableView reloadData];
// 模拟延迟3秒
[NSThread sleepForTimeInterval:3];
// 结束刷新
[self.tableView.mj_footer endRefreshing];
}