0

これを使用して、UIImageView を時計回りに 360 度回転させようとしています。

#define DEGREES_TO_RADIANS(angle) (angle / 180.0 * M_PI)

この

imageView.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(360));

ただし、 imageView は、呼び出されているものでもまったく回転しません。私がやっていることは何か間違っていますか?私は CAAnimations を使用したくないので、使用を勧めないでください。

ありがとう!

4

3 に答える 3

2

問題は、Core Animation が現在の状態から新しい状態への最も直接的なルートを見つけてアニメーションを適用することです。0 度の回転は 360 度の回転と同じであるため、最終的な変換への最も直接的なルートは、何もしないことです。

0 度から 180 度までの 2 つの等しく直接的なルートがあり、コア アニメーションはどちらかを選択できるため、180 度の 2 つのステップは問題になります。したがって、おそらくアニメーションを 3 つのステップに分割する必要があります。最初はUIViewAnimationOptionCurveEaseInで、2 番目はUIViewAnimationOptionCurveLinearで、最後は で行いUIViewAnimationOptionCurveEaseOutます。

于 2012-12-04T06:29:00.947 に答える
0

おそらく、変換が一定期間行われていないためです。時間の経過とともに知覚できない限り、変換または一連の変換を短時間で実行する必要があるかもしれません。

于 2012-12-04T06:28:36.553 に答える