gpt4 book ai didi

objective-c - 在任何时间点获取 CABasicAnimation 中扩展圆的大小

转载 作者:行者123 更新时间:2023-11-29 13:49:28 24 4
gpt4 key购买 nike

我想知道如何在动画期间的任意时间点获取扩大的圆圈动画的直径(或半径)。我最终也会在获得尺寸后立即停止动画,但我无法停止并将其从图层中移除,直到获得圆的尺寸。

关于如何实现扩展圆圈动画的示例,它是 iPhone Quartz2D render expanding circle 中答案中 addGrowingCircleAtPoint:(CGPoint)point 方法中显示的实现的变体。问题。

我尝试检查层、动画等的各种值,但似乎找不到任何东西。我认为更糟糕的情况是,我可以尝试通过将当前时间用于动画并使用它来根据其前后大小状态确定它“应该”在何处来尝试做出最佳猜测。这似乎有点矫枉过正,因为我认为是一个在我可以轻松获得的地方递增的值。

更新:

我已经在表示层上尝试了几个属性,包括似乎永远不会改变的转换,无论检查时圆的大小如何,所有值总是相同的。

最佳答案

好的,这是在动画制作时如何获取动画的当前状态。

虽然 Rob 很接近,但他遗漏了两条关键信息。

首先,您必须从 layer.presentationLayer.subLayers 中获取要在其上设置动画的层,对我来说这是唯一可用的子层。

其次,从这个子层你不能直接访问转换,你必须通过 valueForKeyPath 来获取 transform.scale.x。我使用 x 是因为它是一个圆并且 x 和 y 是相同的。

然后我使用它根据用于创建圆弧的值计算当时圆的大小。

关于objective-c - 在任何时间点获取 CABasicAnimation 中扩展圆的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5643952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com