偶尔发现 UITabelView 使用 MJRefresh 上拉加载下一页时,无限加载,代码重新写一遍,没找到问题,最后各种网上查,尝试,才发现这个问题原因所在
原因出在 estimatedRowHeight
上
屏幕快照 2017-12-05 17.07.58.png
如上图所示,注意这个属性默认是自动计算尺寸的
注意: MJ 上拉加载时,会监听 tableView.contentoffset
的变化
当tableView
上拉加载更多时,
-
tableViewCell
以实际大小布局时,会更新contentOffset
- KVO 监听到
contentOffset
变化,会调用接口加载数据后刷新tableView
- 刷新
tableView
时,estimatedRowHeight
会算出另一个行高,contentOffset
又会更新 - 又会进入到步骤 2,循环下去