7
我的CABasicAnimation存在一些問題。它類似於該帖子:CABasicAnimation rotate returns to original positionCABasicAnimation如何獲取當前的旋轉角度
所以,我有uiimageview在touchMove中旋轉。在touchEnd調用方法做「的動畫慣性」:
-(void)animationRotation: (float)beginValue
{
CABasicAnimation *anim;
anim = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
anim.duration = 0.5;
anim.repeatCount = 1;
anim.fillMode = kCAFillModeForwards;
anim.fromValue = [NSNumber numberWithFloat:beginValue];
[anim setDelegate:self];
anim.toValue = [NSNumber numberWithFloat:(360*M_PI/180 + beginValue)];
[appleView.layer addAnimation:anim forKey:@"transform"];
CGAffineTransform rot = CGAffineTransformMakeRotation(360*M_PI/180 + beginValue);
appleView.transform = rot;
}
這部動畫工作正常,但如果我調用touchBegan animationRotation結束前,旋轉角度爲beginValue。我需要陰極電流旋轉角度。作爲一個實驗,我宣佈方法
-(vod) animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
{
NSLog(@"Animation finished!");
}
和它似乎工作。但我不知道如何在animationDidStop中爲我的UIImageView獲取角度值或CGAffineTransform值。 這甚至有可能嗎?謝謝。
謝謝,我想這一點,它的工作原理,但並不完全,因爲它應該。我用NSTimer動畫..但無論如何感謝:-) – frankWhite 2012-04-30 17:52:01
Upvoted獲取圖層的當前可見旋轉的方法。 – geraldWilliam 2016-09-29 22:28:09