有没有办法手动步进/擦洗CAAnimation?

时间:2013-11-04 19:37:49

标签: ios7 core-animation

我正在使用UIKit动态来动画UIView。随着UIView被拖动(响应物理等等),背景视图(它的超视图)需要淡出,一些UILabel需要淡入。到目前为止,我已经离开了这可以通过向适当的UIDynamicBehavior添加一个块并手动减少superview的alpha并增加UILabel's alpha。只要我想要一个线性交叉渐变,这就可以正常工作,即:superview(1 - a)+ label(a)。 但实际上,我的动画需要更多参与。有点像:

  1. 超级视图开始淡出,说达到.2 alpha
  2. 此时标签开始以更快的速度消失(如果你愿意的话,不同的计时功能)。
  3. 在动画结束时,superview的alpha = 0,alpha = 1的标签。
  4. 当然,我可以将其计算到公式中并根据该值手动更新alpha值。但我想知道是否有一种方法可以创建一个CA动画组或带有一些动画的CATransaction,将其应用于适当的层,然后逐步通过动态行为的动作块中的帧。

    例如,CAMediaTiming协议具有timeOffset,可用于及时启动动画偏移。我正在考虑类似的东西,但这基本上会使动画始终“暂停”,我可以告诉它跳转到(插入)一个特定的时间点。但是,我不确定是否有任何此类属性(如timeOffset)或方法。

0 个答案:

没有答案