MJRefreshFooter明杰刷新控件结束加载显示“没有更多内容”

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/52958318

在使用MJRefreshFooter明杰刷新控件的时候发现一个问题:当没有更多数据的时候结束加载,这时候要在底部显示“没有更多内容”,可我的代码并没有实现预期效果。看代码:

if ([responseObjectisKindOfClass:[NSStringclass]]) {  // 如果没有更多内容

//            [self.tableView.footer endRefreshing];

self.tableView.footer.state = MJRefreshStateNoMoreData;

        }else{

//            [self.tableView.footer endRefreshing];

NSMutableArray * arr = responseObject;

            [self.dataSourceaddObjectsFromArray:arr[0]];

_page = arr[1];

        }

        [self.tableView.footerendRefreshing];

后来改了代码,问题就解决了,再看修改后的代码:

if ([responseObjectisKindOfClass:[NSStringclass]]) {  // 如果没有更多内容

//            [self.tableView.footer endRefreshing];

self.tableView.footer.state = MJRefreshStateNoMoreData;

        }else{

//            [self.tableView.footer endRefreshing];

NSMutableArray * arr = responseObject;

            [self.dataSourceaddObjectsFromArray:arr[0]];

_page = arr[1];

        }

        [self.tableView.footerendRefreshing];

写之前的代码是因为结束加载在if和else中都要写,于是就放在了外面。结果是显而易见,可当将结束刷新的事件放倒if和else语句中就可以实现想要的效果,至于具体原因我也不太清楚,只是知其然不知其所以然。在这里把代码贴出来是为了让遇到此问题的童鞋少走弯路,同时提醒自己下次该怎么正确的写代码。

刚写完博客,修改了一下代码发现同样可以实现想要的效果,看代码:

 [self.tableView.footer endRefreshing];

if ([responseObject isKindOfClass:[NSString class]]) {  // 如果没有更多内容

//            [self.tableView.footer endRefreshing];

self.tableView.footer.state = MJRefreshStateNoMoreData;

        }else{

//            [self.tableView.footer endRefreshing];

NSMutableArray * arr = responseObject;

            [self.dataSource addObjectsFromArray:arr[0]];

_page = arr[1];

        }

//        [self.tableView.footer endRefreshing];

我的理解:应该先结束刷新,然后再设置没有更多内容的状态:MJRefreshStateNoMoreData

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏学海无涯

iOS开发之UIRefreshControl使用踩坑

问题描述 接上一个话题,实现了TabBar的点击刷新以后,开始继续写完成功能,刷新UITableView,于是考虑到iOS 10以后,UIScrollView已...

34710
来自专栏iOS开发攻城狮的集散地

UIPageViewController电子书翻页效果

2469
来自专栏hrscy

iOS 9 Storyboard 教程(二下)

现在你会忽视Game行,仅仅让用户输入玩家的名字. 当用户点击Cancel按钮的时候,这个控制器将会关闭并且不管你输了什么数据都不会保存.这个部分用unwin...

1461
来自专栏老司机的简书

TableView优化之快速滑动下的忽略加载

这两天一直在搞一个TableView的工具类,因为觉得这个东西写完可以一劳永逸,所以就去搞了一下,主要是有助于TableView的快捷开发。没什么好废话的了,直...

1012
来自专栏TechBox

UITableViewCell系列之(一)让你的cell支持二次编辑

1863
来自专栏full stack development

iOS的异步绘制--YYAsyncLayer源码分析

最近看了YYAsyncLayer在这里总结一下。YYAsyncLayer是整个YYKit异步渲染的基础。整个项目的Github地址在这里。你可以先下载了一睹为快...

6110
来自专栏mukekeheart的iOS之旅

iOS学习——tableview中带编辑功能的cell键盘弹出遮挡和收起问题解决

  最近在项目中经常用到UITableView中的cell中带有UITextField或UITextView的情况,然后在这种场景下,当我们点击屏幕较下方的ce...

6948
来自专栏xx_Cc的学习总结专栏

iOS中用application 来管理电池栏状态

2127
来自专栏Objective-C

Swift-MVVM 简单演练(三)

2963
来自专栏君赏技术博客

如果免费使用Reveal一些心得

之前用的一位大神破解的Reveal1.6.3版本,后来发现出现了很多的免费版本。也不敢用新的一直使用1.6.3的破解版本。

1563

扫码关注云+社区

领取腾讯云代金券