一尘不染

iOS 11 UITableView删除行动画错误

swift

tableview动画错误的视频

我有一个扩展/折叠其单元格的表格视图。

从iOS
11开始,tableView在插入和删除行时开始表现异常。contentSize在动画块发生之前已更改,因此,在视频中,您可以看到折叠的单元格上发生了错误的滚动回退。动画看起来不对。

这段代码在iOS 10上运行良好。有人知道苹果方面发生了什么变化吗?这是一个已知的问题?

public func insertingRowsForAccordion(_ indexArray: [IndexPath], selectedRowIndex: Int) {
    beginUpdates()
    insertRows(at: indexArray, with: UITableViewRowAnimation.fade)
    endUpdates()

 // Scroll to selection after expanding children
    scrollToRow(at: IndexPath(row: selectedRowIndex, section: 0), at: UITableViewScrollPosition.top, animated: true)
}

public func removeRowsForAccordion(_ indexArray: [IndexPath]) {
    beginUpdates()
    deleteRows(at: indexArray, with: UITableViewRowAnimation.fade)
    endUpdates()
}

阅读 259

收藏
2020-07-07

共1个答案

一尘不染

我在iOS 11上遇到了无数问题UITableView。遍历UITableView整个应用程序中的每一个,并执行以下操作解决了我所有的问题。

estimatedRowHeightestimatedSectionHeaderHeight和设置estimatedSectionFooterHeight为0。

2020-07-07