我有一个 UITableViewCell 的子类,我想在事件发生时提供一些自定义动画。我一直在努力弄清楚为什么我一直收到相同的动画(我假设 UITableViewRowAnimationFade,单元格会消失并且它下面的单元格会向上滑动),我最终决定深入研究这个问题。我发现当我将单元格的大小设置为小于 320 时(或者我假设完全等于您当前所在屏幕的大小),它将回退到这个默认动画。
我的自定义单元格就像一个浮动框(我每个部分有 1 个单元格,有很多部分),我像这样设置它
self.frame = CGRectMake(5, self.frame.origin.y, 310, self.frame.size.height);
self.contentView.frame = CGRectMake(0, 0, 310, self.frame.size.height);
但我每次都得到默认动画。如果我将其更改为
self.frame = CGRectMake(5, self.frame.origin.y, 320, self.frame.size.height);
self.contentView.frame = CGRectMake(0, 0, 320, self.frame.size.height);
不同的动画效果很好。
有谁知道为什么会这样?我想知道它是否打算以这种方式工作,我需要更改我的单元的设置方式,或者是否有解决方法。
谢谢。
编辑:屏幕截图