0

我用自定义单元格制作了一个表格。对于每个单元格,我创建了一个动画,将当前点击的单元格向上移动。问题出在当前动画单元格中,例如索引第 2 行并返回到索引为 1 的父单元格。
我希望动画单元格位于父单元格的前面。如果我向下滚动表格超过 480 像素,这是 iPhone 屏幕的大小,然后再次单击具有索引第 2 行的同一单元格,该单元格将恰好与父单元格重叠。问题如下图所示。

显示问题的图像

4

1 回答 1

0

您需要获取单元格并将其置于视图层次结构的最前面。但是,获取单元格并不是很明显:您不能调用tableView:cellForRowAtIndexPath:控制器,因为这会出列或创建一个新单元格。相反,您需要做的是调用cellForRowAtIndexPath:表格视图本身并将其放在前面,然后再开始动画。

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

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

于 2012-07-07T11:21:17.797 回答