質問

iPhone CALayerを使用して、スピリットレイヤーの回転アニメーションが必要ですが、アニメーション終了のコールバックも必要です。

CABasicAnimationを使用する必要があると思いますが、CABasicAnimationを使用して回転を行う方法がわかりませんか?

ありがとう

役に立ちましたか?

解決

CAAnimationのデリゲートを設定する場合、コールバックメソッドを追加できます。

- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag

アニメーションが完了すると呼び出されます。このリンクに従って、CGAffineTransform変換行列を介して回転アニメーションの例を探します:

http://iphonedevelopment.blogspot.com/2008/10/demystifying- cgaffinetransform.html

他のヒント

余談ですが、次のコードブロックで呼び出しをラップしてUIViewを回転させることにより、UIViewアニメーションに対して同じ種類のコールバックを行うこともできます

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5f];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(rotationAnimationHasFinished:finished:context:)];
// Rotate the view here
[UIView commitAnimations];

そしてデリゲートメソッドを定義

- (void)rotationAnimationHasFinished:(NSString *)animationID finished:(BOOL)finished context:(void *)context;
{
// Handle the completion of the animation
}

アニメーションの完了後に必要なことを行うデリゲート内。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top