怎么使用mjrefresh实现下拉刷新的功能
展开全部
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 即可
#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 即可
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询