【问题标题】:Grouped UITableView is too transparent for row animations分组的 UITableView 对于行动画来说太透明了
【发布时间】:2021-06-07 04:05:36
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: ios swift uitableview animation gaps-in-visuals


    【解决方案1】:

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

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

    我选择了.grouped 风格和.middle 动画。它没有我想要的那种下拉组合框外观,但动画仅限于单元格更改的部分,这比.top 的故障更不让人分心。

    【讨论】:

      【解决方案2】:

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

      我是如何发现的 - 这个错误动画的速度取决于连续空白部分的数量。

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

      【讨论】:

        猜你喜欢
        • 2014-07-28
        • 1970-01-01
        • 1970-01-01
        • 2011-07-09
        • 1970-01-01
        • 1970-01-01
        • 2013-03-07
        • 2018-07-04
        • 2019-07-29
        相关资源
        最近更新 更多