iPhone:在两个不同的图层上同步动画

Posted

技术标签:

【中文标题】iPhone:在两个不同的图层上同步动画【英文标题】:iPhone: Synchronize animations on two different layers 【发布时间】:2010-12-11 22:04:47 【问题描述】:

我需要在两个不同的图层上同步路径动画(一个用作另一个图层的蒙版,另一个显示跟随路径的图形元素,即绘制蒙版)。如果我只是对它们进行相同的设置,它们就永远不会做同样的事情。目前,我正在使用带有路径(用于图形元素)和 CABasicAnimation 的 CAKeyframeAnimation,其中我将同一路径的“strokeEnd”从 0.0 设置为 1.0(用于遮罩)。

我猜动画组在这里不起作用,因为这意味着我将组应用到遮罩层,这将隐藏图形元素。

【问题讨论】:

【参考方案1】:

你是否为关键帧动画设置了calculationMode = kCAAnimationPaced

【讨论】:

不,我没有。这确实解决了我的问题。谢谢,奥莱。不知何故,您似乎拥有所有与动画相关的答案:) 很高兴我能帮上忙。我目前正在从事一项类似的任务,因此我们可能会遇到相同的绊脚石。 我的应用程序也使用由 'bezierPathWithOvalInRect:' 定义的路径来执行此操作,我注意到在 ios 7 中,路径后面的图形元素不再与基本的 strokeEnd 同步动画片。你遇到过这个吗?任何想法如何解决?【参考方案2】:

Apple 已通知我 iOS7 中的一个已知错误,其中某些路径(例如椭圆路径)在沿同一路径设置 2 个不同层的动画时效果不佳,例如一层的strokeEnd,以及另一层的位置。具体来说,2个动画在动画过程中时不时会出现同步,看起来很邋遢。苹果还告诉我没有已知的解决方法。我还向 Apple 提交了一个错误。

【讨论】:

以上是关于iPhone:在两个不同的图层上同步动画的主要内容,如果未能解决你的问题,请参考以下文章

UIView 动画块中的图层动画

在 Photoshop 中的图层上显示轮廓

如何在 iPhone 中为图层设置动画?

如何在 KonvaJS 中的图层上绘制倒置元素

ps中间翻页翻页左右两个图片颜色不一样的那种效果图怎么制作?

在mapbox gl js中的图层上注册点击事件时如何操作事件冒泡