本文共 2006 字,大约阅读时间需要 6 分钟。
1:先将下载好的MJRefresh拖入到你新建的工程中
2:拖入一个表格视图控制器,让其显示一些文字,如
3:在表现表格视图的.m文件中,引入MJRefresh
#import "MJRefresh.h"4:
- (void)viewDidLoad { [super viewDidLoad]; //集成刷新控件 [self setupRefresh];}
5:实现
/** * 集成刷新控件 */- (void)setupRefresh{ // 1.下拉刷新(进入刷新状态就会调用self的headerRereshing) [self.tableView addHeaderWithTarget:self action:@selector(headerRereshing)];#warning 自动刷新(一进入程序就下拉刷新) [self.tableView headerBeginRefreshing]; // 2.上拉加载更多(进入刷新状态就会调用self的footerRereshing) [self.tableView addFooterWithTarget:self action:@selector(footerRereshing)]; // 设置文字(也可以不设置,默认的文字在MJRefreshConst中修改) self.tableView.headerPullToRefreshText = @"下拉可以刷新了"; self.tableView.headerReleaseToRefreshText = @"松开马上刷新了"; self.tableView.headerRefreshingText = @"MJ哥正在帮你刷新中,不客气"; self.tableView.footerPullToRefreshText = @"上拉可以加载更多数据了"; self.tableView.footerReleaseToRefreshText = @"松开马上加载更多数据了"; self.tableView.footerRefreshingText = @"MJ哥正在帮你加载中,不客气";}#pragma mark 开始进入刷新状态- (void)headerRereshing{// // 1.添加假数据// for (int i = 0; i<5; i++) {// [self.fakeData insertObject:MJRandomData atIndex:0];// } // 2.2秒后刷新表格UI dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ // 刷新表格 [self.tableView reloadData]; // (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态 [self.tableView headerEndRefreshing]; });}- (void)footerRereshing{// // 1.添加假数据// for (int i = 0; i<5; i++) {// [self.fakeData addObject:MJRandomData];// } // 2.2秒后刷新表格UI dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ // 刷新表格 [self.tableView reloadData]; // (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态 [self.tableView footerEndRefreshing]; });}6:在运行时,会发现有
Too many arguments to function call, expected 0, have * 的错误,可以如下修改
选中项目 - Project - Build Settings - ENABLE_STRICT_OBJC_MSGSEND 将其设置为 NO 即可
7:运行的效果如下图