添加新行时 UITableView 停止滚动

UITableView stops scrolling when adding new rows

我有一个 UITableView with Cells,其中 UIImages 作为主要内容。 Table 视图是分页的,所以当我接近 UITable 视图的末尾时,我向 API 发出新请求并插入新单元格(无限滚动)。

问题是当来自 API 的数据到达时,我将它们添加到 table 视图,滚动完全停止。

我试过

[tableview reloadData]

[tableview beginUpdates]
[tableview insertRows...]
[tableview endUpdates]

但是滚动动画在这两种情况下都完全停止了。

我刚发现问题:新数据到达后,我有一个 UIRefreshControl 调用 [self.refreshControl endRefreshing]。由于某种原因,该方法停止了 table 视图中的所有滚动动画。

通过添加

if ([self.refreshControl isRefreshing]) {
    [self.refreshControl endRefreshing];
}

问题已解决。

Swift 5:

if self.refreshControl.isRefreshing {
    self.refreshControl.endRefreshing()
}