重叠表格单元格动画

时间:2012-07-06 22:32:29

标签: objective-c ios cocoa-touch ios5 ios4

我用自定义单元格制作了一张桌子。对于每个单元格,我创建了一个动画,可以移动当前单击的单元格。问题出现在当前的动画单元格中,该单元格例如索引第2行并返回索引为1的父单元格 我希望动画细胞在父母面前。 如果我向下滚动表格大于480px这是iPhone屏幕的大小,然后再次单击索引行2的相同单元格,单元格将与父单元格完全重叠。问题如下图所示。

Image showing the problem

1 个答案:

答案 0 :(得分:0)

您需要获取单元格并将其置于视图层次结构的前面。但是,获取单元格并不是很明显:您无法在控制器中调用tableView:cellForRowAtIndexPath:,因为这将使队列出列或创建新单元格。你需要做的是在表视图本身上调用cellForRowAtIndexPath:并在开始动画之前将它带到前面。

UIView* theCell = [tableView cellForRowAtIndexPath:someIndexPath];
[theCell.superview bringSubviewToFront:theCell];

您可以安全地为要制作动画的所有单元格执行此操作,因为如果它们在屏幕上不可见,则会返回nil