MJRefresh是一个非常简单的下拉刷新组件,下面我就简单介绍一下我在项目中的使用
下拉刷新的初始化
self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(updateNewdata)];
上拉加载更多的初始化
self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(getMoreData)];
调用刷新的方法
[self.tableView.mj_header beginRefreshing];
结束刷新
[self.tableView.mj_header endRefreshing];
结束下拉加载
[Self.tableView.mj_footer endRefreshing]
/** 所有数据加载完毕,没有更多的数据了 */
MJRefreshStateNoMoreData
** 重置没有更多的数据(消除没有更多数据的状态) */
- (void)resetNoMoreData;
如果代码中写了 Self.tableView.mj_footer.state = MJRefreshStateNoMoreData;
一定要记得写[self.tableView.mj_footer resetNoMoreData];不然会导致下拉加载的方法只执行一次;
另附一篇介绍相关内容的很全的博客 http://www.2cto.com/kf/201605/506075.html
设置了endRefreshingWithNoMoreData之后,仍让可以上拉加载可能是因为在这个方法下面使用了endRefreshing。把 [self.tableView.mj_footer endRefreshing];去掉就行了