我正在创建图像的重复旋转动画,并且一切都在ipod4 / iphone4 / iphone4S上按预期工作。但是,在iphone3G上使用相同的代码会使图像旋转速度提高约5倍。旋转应花费1s。

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上看起来还不错...不幸的是,我不确定这是否正确。

任何想法在那里发生了什么,什么是适当的修复?

最佳答案

这可能无法解决您的问题,但是我看到重复计数为9999999。如果您想使其永远循环,请将其设为0

关于iphone - CABasicAnimation在3G上比在4/4S/ipod4上快得多,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11932906/

10-10 11:46