当从索引路径的did select行调用reloadRows(at:[indexPath],带有:.fade)时,Tableview正在弹跳

时间:2018-02-22 14:13:11

标签: ios scroll tableview swift4 reloadrows

我有这个奇怪的问题。当我滚动tableview并更新某个单元格时,它会弹回相当于滚动的第一个单元格的数量。

我有一个带有tableview的视图控制器,并根据用户选择一些行,我只使用下面的代码更新该行

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let index = indexPath.row
    print(index)
    let service = services[indexPath.row]
    if service.isEnabled {
        service.isEnabled = false
    }
    else {
        service.isEnabled = true
    }
    let indexPath = IndexPath(item: index, section: 0)
    serviceTableView.reloadRows(at: [indexPath], with: .fade)
}

如果我不滚动表视图但是如果我滚动表视图并选择一些单元格它会反弹整个tableview

事情已经尝试过了

  1. 删除表格视图的所有约束,它仍会反弹
  2. 从cellForRowAt indexPath
  3. 中删除所有配置方法
  4. 不同的模拟器
  5. 我也没有在剖面视图中做任何事情。

    PS:我观察到的是,只有当第一个细胞部分可见/隐藏时才会发生。

    gif image added for reference

0 个答案:

没有答案