关于MJRefresh无限上拉加载的问题

偶尔发现 UITabelView 使用 MJRefresh 上拉加载下一页时,无限加载,代码重新写一遍,没找到问题,最后各种网上查,尝试,才发现这个问题原因所在


原因出在 estimatedRowHeight

屏幕快照 2017-12-05 17.07.58.png

如上图所示,注意这个属性默认是自动计算尺寸的

注意: MJ 上拉加载时,会监听 tableView.contentoffset 的变化

tableView上拉加载更多时,

  1. tableViewCell以实际大小布局时,会更新contentOffset
  2. KVO 监听到contentOffset变化,会调用接口加载数据后刷新tableView
  3. 刷新tableView时, estimatedRowHeight会算出另一个行高,contentOffset又会更新
  4. 又会进入到步骤 2,循环下去

解决方法

设置 tableView.estimaterowHeight = 0 即可

你可能感兴趣的:(关于MJRefresh无限上拉加载的问题)