2012-08-29 213 views
1

我使用這個代碼,以使紋波動畫我看來停止CATransition動畫

transition = [CATransition animation]; 
    transition.delegate = self; 
    transition.duration = 3; 
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
    NSString *types[4] = {@"cube", @"rippleEffect", @"cube", @"alignedCube"}; 
    NSString *subtypes[4] = {kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromRight}; 
    transition.type = types[1]; 
    transition.subtype = subtypes[1]; 

現在我想用自來水的手段來停止動畫之後,我想從視圖開始,我停止....

我試圖爲

[view.layer removeAllAnimations];

但我發現下面的東西不起作用..任何建議?

回答

0

您可以從CALayer中獲取當前動畫狀態。

#import <QuartzCore/QuartzCore.h> 

    myView.layer.modelLayer.frame = myView.layer.presentationLayer.frame; 
+0

@B Visschers Y我需要這個嗎? – Icoder

+0

如果您想停止中間的動畫,並保持原樣(不會將視圖重置爲動畫開始之前),那麼您需要這樣做。 – Berik

+0

還有其他方法可以做到這一點。查看關於[Core Animation]的大量文檔(http://developer.apple.com/library/ios/#DOCUMENTATION/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html)。 – Berik