UITableView的reloadData与动态单元格高度不需要的滚动

时间:2016-03-09 01:06:49

标签: ios swift uitableview

我试图解决这个问题差不多两天了!我还没找到任何解决方案。

我有一个带有动态单元格高度的tableview,我使用此代码

tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 300.0

对于我的tableView,我使用 infinit scroll 库来加载更多具有动态高度的数据。

在某些情况下,我会使用更新的数据重新加载我的tableview!当我调用reloadData()tableview向上或向下滚动时。修复 estimatedRowheight 应至少高 550.0

  

tableView.estimatedRowHeight = 550.0

当这个问题得到解决时,当我调用 self.tableView.finishInfiniteScroll()时,我的另一个问题是infinitscroll tableView向上滚动(Jumpy)

self.tableView.beginUpdates()
self.tableView.insertRowsAtIndexPaths(indxesPath, withRowAnimation:  UITableViewRowAnimation.Fade)
self.tableView.endUpdates()
self.tableView.finishInfiniteScroll()

我正在使用 AutoLayout !我正在 iOS 9.1

上进行测试

1 个答案:

答案 0 :(得分:0)

试试这个,不要在任何地方给桌子和牢房高度

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
    return UITableViewAutomaticDimension
}

func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
    return 44.0
}