向所有人致以问候。
有谁知道是否可以将CATransition
转换为显式动画?也就是说,我几乎希望它表现得像CABasicAnimation
那样 - 我需要能够创建CATransition
对象,为它设置选项(duration
,timingFunction
, delegate
,type
,fillMode
,removedOnCompletion
等等 - 然后基本上存储它以供以后使用,并确保它不会尝试动画{之间发生的事情{1}}对象创建以及我实际需要它为一组属性设置动画的时间点。
如果我正在使用CATransition
,我可以很容易地做到这一点,因为在动画添加到图层之前没有任何动画,只有CABasicAnimation
中指定的属性在toValue / fromValue之间进行动画处理。但是,animationWithKeyPath
显然在您创建用于捕获属性更改的动画对象时触发CATransition
。
我需要做的事情(如上所述)是创建[CATransaction begin]
对象,设置上述选项,然后将其放置,直到我实际需要使用它 - 此时我将改变它需要设置动画的实际属性,然后通过CATransition
将其添加到相应的CALayer
。
有谁知道如何安全地做到这一点?
PS:原因是因为我的应用程序在很大程度上依赖于处理动画依赖性的自定义动画排队系统。例如,某些事物需要在方向更改发生之前进行动画制作,因此我可以排队~10个动画,这些动画将全部触发并且方向更改动画对象也是如此 - 但方向更改动画将不会触发,直到之前的动画为止它取决于已经完成。顺便说一句,addAnimation
可以很好地包装到排队的动画对象类中。 CABasicAnimation
似乎是一个不同的野兽,因此上面的问题 - 我需要能够安全地创建一个动画队列对象,设置一堆CATransition
选项,排队,然后实际当它的所有依赖性都得到满足时(在这种情况下,CATransition
被用于方向改变动画),它会在稍后执行(同时发生各种各样的事情)。
谢谢, -Keven Tipping