2011-06-14 59 views
1

我有一个精灵图纸的contentsRects属性的CAKeyframeAnimation在CALayer中显示动画。大部分时间一切正常,但偶尔我会看到精灵表的错误部分。 CAKeyframeAnimation设置为离散模式,并检查所有坐标。在我看来,偶尔CAKeyframeAnimation会错过一个关键帧,并且只显示我的精灵表的一个中心部分,而不是它根据提供的contensRects数组裁剪的部分。如何解决上述问题?关于同一主题,一般如何调试CAKeyframeAnimation并找出发生了什么?CAKeyframeAnimation和精灵图表动画问题

谢谢!

回答

1

解决它,我裹着我的CATransaction动画和暂时禁用所有层的行动:

[CATransaction begin]; 
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions]; // we need to disable all layer actions temporarily 

.............. the rest of animation code ............... 

[CATransaction commit]; 

谢谢苹果的文档!