我有一个精灵表的contentsRects属性的CAKeyframeAnimation,用于在CALayer中显示动画。一切都在大部分时间都有效,但偶尔我会看到一帧精灵表的错误部分。 CAKeyframeAnimation设置为离散模式,并检查所有坐标。在我看来,偶尔CAKeyframeAnimation错过了一个关键帧,并且只显示了我的精灵表的一个中心部分,而不是根据提供的contensRects数据切出的部分。如何解决上述问题?同样在同一主题上如何调试CAKeyframeAnimation一般并找出发生了什么?
谢谢!
答案 0 :(得分: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];
谢谢Apple的文档!