我有一个UITableview具有1部分和该tableview的标头中的段控件。在更改表视图的标题中的段之后,我希望该表视图向左移动,并且另一个表视图具有与该段控件的选定索引中的信息相关的新数据,并从右侧进入。这应该是动画。我已经尝试了这4件事,但是它们都有自己的问题。最大的两个问题是我不想设置节标题的动画,并且数据集是不同的。节标题应该始终保持不变,因此reloadSections不起作用。 reloadRows具有我正在寻找的完美动画,但它不起作用,因为两组数据的行数不同。因此使用时会崩溃。

当表中没有数据时,该解决方案需要工作,并且在获取数据后第一次重新加载该解决方案。或者,它重新加载为表格中没有行,并显示一个空状态屏幕。

//1
UIView.animate(withDuration0.7, delay: 0.0, options: .curveEaseOut, animations: {
    self.mainTableView.reloadData()
}, completion: {})

//2
self.mainTableView.reloadSections(IndexSet(integer: 0), with: .right)

//3
self.mainTableView.reloadRows(at: [indexpaths], with: .right)

//4
self.mainTableView.beginUpdates()
self.mainTableView.insertRows(at: [indexpaths], with: .right)
self.mainTableView.deleteRows(at: [indexpaths], with: .right)
self.mainTableView.endUpdates()

最佳答案

您为什么不只在同一tableView中更改数据源,然后将该段作为视图放在tableView而不是标头上。

09-25 19:43