沒有辦法聽,可以這麼說,對於發生的動畫,但是,您可以設置顯示的鏈接,然後勾選/輪詢層是否有任何的動畫。我認爲這會造成很多開銷,但它可能會給你你想要的東西。
我可能更喜歡同時爲兩個圖層設置動畫。我不知道什麼事件觸發了一個圖層,在您的場景中開始製作動畫,但是在那裏我會嘗試對第二個圖層進行動畫製作。
如果你想嘗試去顯示鏈接路線,你可以這樣做:
CADisplayLink *displayLink = [CADisplayLink displayLinkWithTarget:self
selector:
@selector(
displayLinkDidUpdate:)];
// Add to the run loop
[displayLink addToRunLoop:[NSRunLoop mainRunLoop]
forMode:NSDefaultRunLoopMode];
然後,實現顯示的更新方法:
- (void)displayLinkDidUpdate:(CADisplayLink *)sender
{
CALayer *presentationLayer = (CALayer*)[_animatingLayer presentationLayer];
// Do something with the presentation layer
}
如果圖層動畫,演示圖層將具有當前的飛行中動畫值。