Cocoa touch AVSynchronizedLayer子层动画不';我跟不上看电影的时间

Cocoa touch AVSynchronizedLayer子层动画不';我跟不上看电影的时间,cocoa-touch,core-animation,avfoundation,Cocoa Touch,Core Animation,Avfoundation,我正在使用AVSynchronizedLayer沿路径设置CALayer位置的动画。由于层的计时与AVPlayerItem匹配,因此层在播放视频时会正确跟踪视频中的项目 我想做的是在图层上还有一个单独的不透明度/旋转动画,但我希望它的计时独立于视频。是否有任何方法可以替代此设置?唯一的方法是使用Cadisplay链接手动设置不透明度/旋转的动画,并在不使用核心动画的情况下插入值 startTimestamp = CACurrentMediaTime(); CADisplayLink *displ

我正在使用AVSynchronizedLayer沿路径设置CALayer位置的动画。由于层的计时与AVPlayerItem匹配,因此层在播放视频时会正确跟踪视频中的项目


我想做的是在图层上还有一个单独的不透明度/旋转动画,但我希望它的计时独立于视频。是否有任何方法可以替代此设置?

唯一的方法是使用Cadisplay链接手动设置不透明度/旋转的动画,并在不使用核心动画的情况下插入值

startTimestamp = CACurrentMediaTime();
CADisplayLink *displayLink = [CADisplayLink displayLinkWithTarget:self
                                                         selector:@selector(animate:)]
[displayLink addToRunLoop:[NSRunLoop currentRunLoop] 
                  forMode:NSDefaultRunLoopMode];

...

- (void)animate:(CADisplayLink *)link {    
    float duration = 1.0;
    float dt = (link.timestamp - startTimestamp) / duration;

    // Done?
    if (dt > 1.0) {
        [link invalidate];
        return;
    }

    // Disable CoreAnimation implicit animations
    [CATransaction begin];
    [CATransaction setDisableActions:YES];
    layer.opacity = dt;
    [CATransaction commit];
}