http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3764|回复: 3

[常见问题] MJRefresh上拉加载没有数据时一直执行上拉操作,死循环

[复制链接]
发表于 2018-12-7 14:21:52 | 显示全部楼层 |阅读模式


今天突然遇到了一个问题,就是在使用MJRefresh上拉加载没有数据时会一直请求数据,造成死循环。查阅了资料才知道是什么原因?

原因:iOS11中UITableView在reloadData时contentOffset发生了改变,这时候MJ监听了contentOffset的变化,就导致再一次的调用上拉加载,变成了循环调用.


iOS11之后UITableView默认开启了Self-Sizing,官方解释为:


20170918094920450.png


大概就是说我们不再需要自己去计算cell的高度了,只要设置好这两个属性,约束好布局,系统会自动计算好cell的高度。IOS11以后,Self-Sizing默认开启,包括Headers, footers。如果项目中没使用estimatedRowHeight属性,在IOS11下会有奇奇怪怪的现象,因为IOS11之前,estimatedRowHeight默认为0,Self-Sizing自动打开后,contentSize和contentOffset都可能发生改变。可以通过以下方式禁用:


self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;


在使用下拉加载的页面中添加这三个属性就可以了。




相关帖子



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2018-12-7 14:57:00 | 显示全部楼层
我只是路过打酱油的。
发表于 2018-12-7 16:06:31 | 显示全部楼层
感恩无私的分享与奉献
发表于 2018-12-7 17:20:47 | 显示全部楼层
真是难得给力的帖子啊。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-22 18:42

© 2014-2021

快速回复 返回顶部 返回列表