UIView animationWithDuration durationが確認されない

私は約5回私のプロジェクトでanimationWithDurationコードブロックを実装しましたが、新しいクラスを作成して、viewDidLoadにアニメーションの種類を入れようとすると、アニメーションはそれを設定した時間を尊重しません。例えば、アニメーションは気にしないで0.5秒間アニメーションを行います。私が新しいプロジェクトを作成し、それに正確なコードをコピーすると、完全にうまく動作し、5秒間アニメーション化されます。コードは次のとおりです:

[UIView animateWithDuration: 5
                      delay: 0.2
                    options:(UIViewAnimationCurveEaseInOut | UIViewAnimationOptionRepeat |  UIViewAnimationOptionAutoreverse)
                 animations:^{
                     water.transform = CGAffineTransformMakeTranslation(0, 200);
                 } completion:nil];

edit: A colleague told me to try putting it in viewDidAppear and that works. But I still want to know why, in the 5 previous ViewControllers before this specific one, all the animations work when placed in viewDidLoad. My guess is that maybe for some reason, loading the graphics in this specific ViewController takes longer.

0

1 答え

表示されているアニメーションのみを開始するため、 viewDidAppear:にコードを配置します。

0
追加された
ビューローディング( viewDidLoad )と表示されるビュー( viewDidAppear:)の間に、私の答えに述べた理由で、正しい場所は viewDidAppear:でしょう
追加された 著者 Paul.s,
それはうまくいった。他のクラスのviewDidLoadで動作する理由は何ですか?私は新しいクラスを作成しませんか?
追加された 著者 dpactri,