如何让核心动画显式动画的行为方式与隐式动画完全相同?

Posted

技术标签:

【中文标题】如何让核心动画显式动画的行为方式与隐式动画完全相同?【英文标题】:How can I get a core animation Explicit animation to behave in exactly the same way as an Implicit animation? 【发布时间】:2010-03-12 14:51:11 【问题描述】:

我希望使用核心动画制作一些自定义动画,但我遇到了(毫无疑问)动画完成后重置的经典问题。

当然,这可以通过以下方式停止:

[animation setFillMode:kCAFillModeForwards];
[animation setRemovedOnCompletion: YES];

但是,我留下了一个图层,它不会响应移动它的请求,因为动画仍然存在。

我可以删除动画,但随后位置丢失了...而且对于应该可以简单实现的东西来说,这一切似乎都太复杂了...

我想要的是,当动画完成时,动画离开它离开它的层,然后消失,就好像它根本不存在一样。

与隐式动画相同的行为。如何实现?

目前我必须设置动画委托并监听 animationDidStop:finished: 调用,然后我必须禁用隐式动画,从表示层设置值,并提交“动画” .

必须有更简单的方法...

【问题讨论】:

【参考方案1】:

您可能想看看UIView displays improperly after its layer has been animated,您的问题似乎非常相似。

【讨论】:

以上是关于如何让核心动画显式动画的行为方式与隐式动画完全相同?的主要内容,如果未能解决你的问题,请参考以下文章

如何实现可交互的 UIView 隐式动画

隐式动画和核心动画

ios开发核心动画三:隐式动画与时钟效果

图层行为(隐式动画)

csharp 示例显示如何在补间库之外完全使用ZestKit的核心。它可用于以任何方式为任何方式制作动画

iOS Core Animation Advanced Techniques-显式动画