1

画面の上部から下部にロゴが表示され、アプリケーションに新しいビューが読み込まれたときにそこにとどまるエントリエフェクトを作成しようとしています。NSTimerを使用して画像をバウンスするすべてのチュートリアルを見てきましたが、ロゴが下部に当たると終了する必要があります。アニメーションのブロックコードを読んで、ソリューションがそこにあるかどうかを確認します。

申し訳ありませんが、私は新しい存在であり、支援に非常に感謝しています。

4

2 に答える 2

2

ロゴフレームを上に設定してから:

[UIView beginAnimations: @"moveLogo" context: nil]; 
[UIView setAnimationDelegate:self]; 
[UIView setAnimationDuration:1.0];
[UIView setAnimationCurve: UIViewAnimationCurveLinear];
logoToMove.frame =  CGRectMake( final frame at the bottom );
[UIView commitAnimations];

logoToMoveあなたのロゴです、それに出口を与えて、xibにそれを引っ掛けてください。したがって、最初のフレームとアニメーションの最後のフレームを設定します。アニメーションが残りの仕事をします。UIViewAnimationCurveLinear気に入らない場合は、希望のものに変更してください。また、動きを速くしたり遅くしたりする時間。

于 2012-07-10T08:14:37.760 に答える
0

アニメーションの最後でビューを削除するには、ブロックを使用するのが最も簡単な方法です。

logoToMove.frame = topRect;

[UIView animateWithDuration:duration 
                 animations:^{
                    logoToMove.frame = bottomFrame;
                 } 
                 completion:^(BOOL finished) {
                    [logoToMove removeFromSuperview];
                 }
];

このようにすることで、アニメーションを制御し、単一の方法でアニメーションが終了したらどうするかを制御できます。

于 2012-07-10T08:54:53.013 に答える