1

重複の可能性:
カーブしたパスに沿ったビューまたは画像の動きをアニメーション化するにはどうすればよいですか?

落ち葉(またはいくつか)をアニメーション化するiOSアプリケーションがあります。に葉の画像がありImageView、ドキュメントから簡単なアニメーションを見つけました。

[UIView animateWithDuration:4.0f
                          delay:0
                          options:UIViewAnimationTransitionFlipFromLeft
                          animations:^(void)
                          {
                              leaf1ImageView.frame = CGRectMake(320, 480, leaf1ImageView.frame.size.width,leaf1ImageView.frame.size.height);
                          }
                          completion:NULL];

これにより、葉が開始位置から右下隅に直線的に移動します。放物線や正弦波のようなパスやカーブをたどり、画像やビューを回転させるために、これをどのようにアニメーション化できますか?これはアニメーションブロックで行われますか?前もって感謝します!

4

2 に答える 2

10

これは、 CAKeyframeAnimationCGPathを使用して行うことができます。コードは次のようになります。

CAKeyframeAnimation *leafAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
leafAnimation.duration = 10.0;
leafAnimation.path = /* your CGPathRef */;
[leaf1ImageView.layer addAnimation:leafAnimation forKey:@"leafAnimation"];
于 2012-09-01T22:01:43.110 に答える
1

あなたが探しているのは、ベジェCGPathに沿ってアニメーション化することです。詳細については、次の質問を参照してください。

カーブしたパスに沿ったビューまたは画像の動きをアニメーション化するにはどうすればよいですか?

ただし、コードでベジェパスを作成するのはかなり難しいです。ベジェ曲線を作成してアニメーション化する簡単な方法については、次の質問への回答を確認してください。

iOSで指でベジェ曲線を描く?

于 2012-09-01T22:07:04.367 に答える