iOS CABasicAnimation动画,带KeyPath:@";“变换.旋转”;晃动

iOS CABasicAnimation动画,带KeyPath:@";“变换.旋转”;晃动,ios,objective-c,ios7,uiimageview,cabasicanimation,Ios,Objective C,Ios7,Uiimageview,Cabasicanimation,我有下面的代码来旋转指南针。这段代码在iPhone6和iPhone5的iOS8上都能正常工作 然而,当在iOS 7.1.2的iPhone 5S上尝试此功能时,图像偏离了Z轴,在旋转时出现抖动/浮动 正如我所说,这不会发生在iPhone 5或6上,它们都运行iOS 8 有人能提供一些建议吗 float oldRad = -manager.heading.trueHeading * M_PI / 180.0f; float newRad = -newHeading.trueHeading * M

我有下面的代码来旋转指南针。这段代码在iPhone6和iPhone5的iOS8上都能正常工作

然而,当在iOS 7.1.2的iPhone 5S上尝试此功能时,图像偏离了Z轴,在旋转时出现抖动/浮动

正如我所说,这不会发生在iPhone 5或6上,它们都运行iOS 8

有人能提供一些建议吗

float oldRad =  -manager.heading.trueHeading * M_PI / 180.0f;
float newRad =  -newHeading.trueHeading * M_PI / 180.0f;
CABasicAnimation *theAnimation;
theAnimation=[CABasicAnimation animationWithKeyPath:@"transform.rotation"];
theAnimation.fromValue = [NSNumber numberWithFloat:oldRad];
theAnimation.toValue=[NSNumber numberWithFloat:newRad];
theAnimation.duration = 0.5f;
[compassimage.layer addAnimation:theAnimation forKey:@"animateMyRotation"];
compassimage.transform = CGAffineTransformMakeRotation(newRad);

好吧,我意识到这是一个自动布局问题。有趣的是,这个问题从iOS 6开始,一直延续到iOS 7。据我所见,它似乎没有影响iOS 8

修复程序的选择:- 1) 添加中心x&y约束 或 2) 禁用自动布局

两者都能产生预期的结果,尽管我选择了第一