【发布时间】:2012-05-14 21:25:54
【问题描述】:
我目前在UITableViewCell 上使用以下动画:
CATransform3D rotationTransform = CATransform3DMakeRotation(1.0f * M_PI, 0, 0, 1.0);
CABasicAnimation* rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform"];
rotationAnimation.toValue = [NSValue valueWithCATransform3D:rotationTransform];
rotationAnimation.duration = 0.25f;
rotationAnimation.cumulative = YES;
rotationAnimation.repeatCount = 1;
[cell.rotatingImage.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
但是,当像上面那样对 ~3 个单元格进行动画处理时,动画会变得非常滞后。有什么办法可以减少这种延迟?
【问题讨论】:
-
我不认为在单元格内设置动画是一个好主意,我发现当表格滚动时,使用 CADisplayLink 的东西会暂停(可能是别的东西)。也许您可以尝试仅对活动单元格或类似的东西进行动画处理。
-
在我的情况下,我不知道哪些单元格将带有动画。所以硬编码/统计不是最好的变体...
-
您正在旋转的图像有多大?图层还应用了哪些其他属性?使用小图像,我没有注意到我的 iPhone 4 有延迟。
标签: iphone objective-c ios core-animation cabasicanimation