CABasicAnimation在3G上比在4 / 4S / ipod4上快得多

时间:2012-08-13 10:55:46

标签: iphone ios core-animation

我正在创建一个图像的重复旋转动画,一切都按预期在ipod4 / iphone4 / iphone4S上运行。但是,在iphone3G上使用相同的代码会使图像旋转约5倍。轮换应该花费1秒。

CABasicAnimation *fullRotation; 
fullRotation = [CABasicAnimation 
                animationWithKeyPath:@"transform.rotation"]; 
fullRotation.fromValue = [NSNumber numberWithFloat:0]; 
fullRotation.toValue = [NSNumber numberWithFloat:(2*M_PI)]; 
fullRotation.duration = 1.0;
fullRotation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
fullRotation.repeatCount = 999999999; 
// Add the animation group to the layer 
[rotateImageView.layer addAnimation:fullRotation forKey:@"rotateAnimation"]; 

iphone 3G有iOS4.2.1,其余设备有4.3 / 5.0 / 5.1。我正在考虑通过检查iOS版本来解决这个问题,如果它是< 4.3而不仅仅是将持续时间推迟到5s之类 - 那么它在3G上看起来不错......不幸的是我不确定这是否是 正确修复。

任何想法在那里发生了什么以及什么是正确的解决方案?

2 个答案:

答案 0 :(得分:0)

这可能对您的问题没有帮助,但我看到重复次数是9999999.如果您想让它永远循环,请将其设为0

答案 1 :(得分:0)

问题原来是这个:这是一个借来的越狱iphone,它有一个名为Speed Intensifier的应用程序安装 - 这个应用程序自动加速查看动画。关闭此功能后,动画按预期工作。