【问题标题】:Overlapping table cells animation重叠表格单元格动画
【发布时间】:2023-03-26 18:55:01
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多