1

我有一个UITableView包含自定义部分标题视图的分组,并且希望在用户单击这些标题视图时执行添加/删除行动画:

tableView.insertRows(at: rowsToInsertOrDelete, with: .top)
//or
tableView.deleteRows(at: rowsToInsertOrDelete, with: .top)

它应该看起来像“组合框”动画。

问题是群体之间的差距。似乎它们不包含 UI 元素,因此它们是透明的,并且动画与它们重叠(只有第一组/部分正常工作)。同时,自定义部分标题视图位于动画上方,并为每个部分正确隐藏。

如何解决这个问题?例如,通过添加覆盖这些间隙的不透明视图?

4

2 回答 2

0

我目前的解决方案是避免空白部分。如果每个部分至少有一行,似乎一切都会好起来的。

我是如何发现的——这个有问题的动画的速度取决于连续空白部分的数量。

换句话说,尝试将没有行的部分替换为具有 1UITableViewCell且行高为零的部分

于 2021-10-14T09:05:26.743 回答
0

我也遇到了同样的问题——动画在部分之间的组中偷看。

我尝试使用.plain带有空白页脚视图的样式。这消除了动画故障,但页脚漂浮在长可滚动部分底部的单元格上,看起来更糟。

我选择了动画.grouped风格。.middle它没有我想要的下拉组合框外观,但动画仅限于单元格更改的部分,这比带有.top.

于 2021-10-14T01:02:51.807 回答