MJRefresh使用教程

1、自定义刷新标签

//下拉刷新
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
    [weakSelf.tableView.mj_header endRefreshing];//结束刷新
    weakSelf.viewModel.browingHistoryQuery.pageNo = 1;
    [weakSelf getBrosingHistoryData];
}];
[header setTitle:@"下拉刷新" forState: MJRefreshStateIdle];
[header setTitle:@"释放更新数据" forState:MJRefreshStatePulling];
[header setTitle:@"Loading..." forState:MJRefreshStateRefreshing];
header.lastUpdatedTimeLabel.hidden = YES;
// 设置颜色
header.stateLabel.textColor = [UIColor redColor];
self.tableView.mj_header = header;
//上拉加载更多
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
    [weakSelf.tableView.mj_footer endRefreshing];//结束刷新
    weakSelf.viewModel.browingHistoryQuery.pageNo += 1;
    [weakSelf getBrosingHistoryData];
}];
[footer setTitle:@"上拉刷新" forState:MJRefreshStateIdle];
[footer setTitle:@"加载更多" forState:MJRefreshStatePulling];
[footer setTitle:@"Loading..." forState:MJRefreshStateRefreshing];
self.tableView.mj_footer = footer;

2、停止、重启上拉刷新
设置state
mj_footer.state = MJRefreshStateNoMoreData;

weakSelf.viewModel.browingHistoryQuery.pageNo += 1;//获取到数据后才增1
if (isNoMoreData) {
    weakSelf.tableView.tableFooterView = self.footerView;
    weakSelf.tableView.mj_footer.state = MJRefreshStateNoMoreData;//停止
}else {
    weakSelf.tableView.tableFooterView = [UIView new];
    [weakSelf.tableView.mj_footer resetNoMoreData];//重启
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,116评论 25 708
  • 最近做了一个Android UI相关开源项目库汇总,里面集合了OpenDigg 上的优质的Android开源项目库...
    OpenDigg阅读 17,290评论 6 222
  • (这是许6569 小能熊365日写作计划第33篇文章) 题记即在作文题目之后,正文之前的一段文字。好的题记能吸引读...
    许6569阅读 2,319评论 1 7
  • 听说我写文章,有的人喜欢问:你写这些有什么意思? 的确,从表面看起来,我写作没有任何意思。稿费自然不用提,关键是还...
    氧气是个地铁阅读 2,288评论 65 77
  • 拖延症已经成为人类的共敌了! 如果你总是习惯性地拖延,就会产生挫败感,事情也会越积越多,形成恶性循环。 我自己已经...
    陈少琼阅读 277评论 0 0