如何在iPhone上停止自定義繪製CALayer的旋轉?順利停止核心動畫旋轉
這
CATransform3D pausetransform = ((CALayer *)[layer presentationLayer]).transform;
[layer removeAllAnimations];
layer.transform = pausetransform;
停止動畫,然後立即旋轉層後面一點點。可能是因爲在設置了暫停轉換值之後,動畫會持續一段時間。
在動畫的- (void) animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)finishednormally
委託方法中設置layer.transform值會在動畫旋轉到正確位置之前,簡要顯示動畫開始位置的圖層。
我正在使用CABasicAnimation將圖層360°旋轉一次。當我刪除動畫(使用removeAllAnimations或removeAnimationForKey)時,圖層將返回到layer.transform中的旋轉。但是我無法找到在動畫停止的時刻獲取圖層旋轉的方法。我也不能在動畫停止的時刻設置圖層的旋轉。我只能在之前或之後執行此操作,這兩者都會導致圖形故障。 CAAnimation的另一個子類能夠更好地處理這個問題嗎? – kareman 2009-09-11 17:44:44