我有一個iPhone的基本旋轉動畫。有什麼辦法可以「暫停」動畫,以保持視圖的位置?我想這樣做的一種方式是導致動畫「完成」而不是調用「刪除」它,我將如何做到這一點?有沒有辦法暫停CABasicAnimation?
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2];
rotationAnimation.duration = 100;
rotationAnimation.cumulative = YES;
rotationAnimation.repeatCount = HUGE_VALF;
rotationAnimation.removedOnCompletion = NO;
rotationAnimation.fillMode = kCAFillModeForwards;
[myView.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
這對我來說工作得很好,但是當我處於暫停狀態,並且旋轉我的設備時,我失去了與應用程序交互的所有能力。它實際上並沒有墜毀,但它看起來「凍結」。是否與「willAnimateRotationToInterfaceOrientation」有衝突? – YoCoh
@YoCoh,它確實可以暫停視圖的標準旋轉動畫,並且在動畫過程中,用戶交互可能被禁用(可能是這種情況),標準動畫並沒有完成,最終導致UI停留在禁用狀態。不知道如何解決方法 – Vladimir
http://ronnqvi.st/controlling-animation-timing/解釋此代碼的工作原理 –