0
我有一個帶背景圖像的按鈕,當應用程序運行時我希望按鈕旋轉,當應用程序轉到背景時,按鈕應該停止旋轉。從上一個位置暫停和恢復動畫
我打電話給無限旋轉按鈕的方法startSpiningAnimation
。
當應用程序轉到後臺時,我呼叫stopSpinningAnimation
停止旋轉動畫。
- (void)startSpiningAnimation {
[self stopSpinningAnimation];
CABasicAnimation* animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
animation.fromValue = [NSNumber numberWithFloat:0.0];
animation.toValue = [NSNumber numberWithFloat: 2*M_PI];
animation.duration = 10.0f;
animation.repeatCount = INFINITY;
[self.button.layer addAnimation:animation forKey:@"SpinAnimation"];
}
- (void)stopSpinningAnimation {
[self.button.layer removeAllAnimations];
}
- (void)handleApplicationDidBecomeActiveNotification:(NSNotification *)not {
[self startSpiningAnimation];
}
- (void)handleApplicationWillResignActiveNotification:(NSNotification *)not {
[self stopSpinningAnimation];
}
一切都很正常我唯一的問題是,每一個應用程序來前景和動畫啓動時,它從原來的位置開始。
(我完全理解爲什麼會發生,當應用程序被切換到後臺obesely我刪除所有動畫..我只是不知道如何解決這個問題)
我想是該按鈕旋轉動畫將繼續從最後一個角度來看。
[有沒有辦法暫停CABasicAnimation?](http://stackoverflow.com/questions/2306870/is-there-a-way-to-pause-a-cabasicanimation) –