我有一个带有1个部分的UITableview,并且该表视图的标题中有一个段控件。在我更改tableview标题中的段之后,我希望tableview向左移动,另一个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()
答案 0 :(得分:0)
为什么不在同一个tableView中更改数据源,并将该段作为视图放在tableView而不是标题上。