我试图在我的应用程序上实现一个很好的手风琴效果。我的目标是当用户点击它时“打开”一个单元格,随着单元格高度的增加显示附加内容(例如文本)。完美的示例代码是 Apple 提供的 TableView Animations & Gestures 示例代码。但是我遇到了一种奇怪的行为,这破坏了整个效果。
看起来,根据表格视图显示其单元格的顺序(顶部--> 底部或底部--> 向上),单元格文本视图将相互重叠或不重叠。由于它有点难以用文字来解释,所以这里是用图像来解释的。
这些屏幕截图取自 TVAnimationsGestures 示例代码,没有对其进行任何更改。它来自没有故事板的示例代码的第一个版本:
现在带有情节提要的版本,首先表现良好,但过了一段时间,没有我接触代码,它开始绘制:
我的自定义单元格在我的自定义中遇到了确切的问题。
我花了一段时间才明白我认为问题出在哪里。如果将单元格从顶部单元格绘制到底部,则不存在此类问题。但是,如果单元格从下到上绘制,它们将反向堆叠并因此相互重叠。我认为不可能控制这种行为。给我的提示是,当我向下滚动时,强制顶部单元格重新绘制,它们实际上重新绘制得很好,屏幕看起来像这样:
重叠细胞和“好”细胞的混合物。
同样,这一切都直接来自 Apple 示例代码,没有任何更改。有谁知道发生了什么?
非常感谢你的帮助。