下载地址:https://github.com/CoderMJLee/MJRefresh
下载Demo,把MRefresh整个文件夹拖进你的工程中,编译,立马报错,
在报错页面导入#import <UIKit/UIKit.h>就可以了。
最终的简单效果:
ViewController.m完整代码如下:
#import "ViewController.h"
#import "MJRefresh.h"
@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
@property(nonatomic,strong)UITableView *tableView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//添加一个tableview
self.tableView= [[UITableView alloc]initWithFrame:self.view.bounds];
self.tableView.delegate=self;
self.tableView.dataSource=self;
[self.view addSubview:_tableView];
//创建下拉刷新
MJRefreshNormalHeader* header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
[self performSelector:@selector(headRefresh)withObject:nil afterDelay:2.0f];
}];
//设置自定义文字,因为默认是英文的
[header setTitle:@"下拉刷新"forState:MJRefreshStateIdle];
[header setTitle:@"松开加载更多"forState:MJRefreshStatePulling];
[header setTitle:@"正在刷新中"forState:MJRefreshStateRefreshing];
self.tableView.mj_header= header;
//创建上拉刷新
MJRefreshBackNormalFooter * foot =[MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
[self performSelector:@selector(footRefresh)withObject:nil afterDelay:2.0f];
}];
self.tableView.mj_footer= foot;
[foot setTitle:@"上拉刷新"forState:MJRefreshStateIdle];
[foot setTitle:@"松开加载更多"forState:MJRefreshStatePulling];
[foot setTitle:@"正在刷新中"forState:MJRefreshStateRefreshing];
}
- (void)headRefresh {
NSLog(@"下拉,加载数据");
[self.tableView.mj_header endRefreshing];
}
- (void)footRefresh {
NSLog(@"上拉,加载数据");
[self.tableView.mj_footer endRefreshing];
}
# pragma mark - tabelView代理方法.
- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section
{
return 10;
}
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
NSString* cellReuseIdentifier =@"cell";
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier: cellReuseIdentifier];
if(!cell) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellReuseIdentifier];
}
cell.textLabel.text=@"hello,MjRefresh";
return cell;
}
@end
工程目录
默认更新时间是英文的,在这里修改