在 iPhone 上,我有一个通过核心动画进行动画处理的 CALayer。然后在某个时候我更改了视图控制器。然后我返回到具有 CALayer 的视图控制器中,在 viewWillAppear: 中,我设置了我的图层的 frame 和 position 属性,将其移回到起始点。
设置这些属性会更改模型层,但演示层仍具有旧值,并且其演示层直到下一次播放动画才会更新。
在 CA 编程指南中,它说:
“您可以在动画事务正在处理时查询 CALayer 的实例以获取其相应的演示层。”
对我来说,这意味着演示层在动画期间应该与模型层不同。但当前没有任何正在运行的动画。我甚至使用了 kCATransactionDisableActions 来确保当我设置位置属性时不会启动隐式动画。
有人知道为什么我的演示层和模型层不同步吗?
谢谢。
设置这些属性会更改模型层,但演示层仍具有旧值,并且其演示层直到下一次播放动画才会更新。
在 CA 编程指南中,它说:
“您可以在动画事务正在处理时查询 CALayer 的实例以获取其相应的演示层。”
对我来说,这意味着演示层在动画期间应该与模型层不同。但当前没有任何正在运行的动画。我甚至使用了 kCATransactionDisableActions 来确保当我设置位置属性时不会启动隐式动画。
有人知道为什么我的演示层和模型层不同步吗?
谢谢。