0


0

ビューアニメーション中に画像が間違った位置に表示される

問題があります。 スクロールビューを含むビューを作成しました。 スクロールビューでは、ラベル付きの宝くじを追加しています。

ビュー間でアニメーションを設定しました。ボールをアニメーション化したこのビューでは、アニメーションが完全に終了するまで、ボールは同じ位置(スクロールビューの左上隅)にあります。 ボールが適切な場所にジャンプするよりも。 ボールの宝くじ番号を表示しているラベルに問題はありません。

私はなぜそれが起こるのかを理解しようとしましたが、この奇妙な効果に対する答えを見つけることができません。

誰もがそれを助けることができれば非常に感謝しています。

ビューを切り替えるために、単に標準のコアアニメーションを使用しています。

次の行でキャッシュパラメータをNOに変更すると、移行中にボールもアニメーション化されることがわかりました。

    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:NO];

ありがとう

 Endre

1 Answer


2


実際、私はこの奇妙な振る舞いの解決策を見つけました。

    [self.view insertSubview:ToView.view atIndex:0];

    [UIView beginAnimations:@"View Flip" context:nil];
    [UIView setAnimationDuration:2];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut ];
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:NO];
    [ToView viewWillAppear:YES];
    [FromView viewWillDisappear:YES];

    [FromView.view removeFromSuperview];

    [FromView viewDidDisappear:YES];
    [ToView viewDidAppear:YES];

    [UIView commitAnimations];

元々「[self.view insertSubview:ToView.view atIndex:0];」という行BeginAnimation-commitAnimationsブロックの間にありました。

これ以外のビューを作成すると、正常に機能し始めました。