0

AビューとBビューの間でアニメーションをズームするカスタムセグエを実装しています。私の考えは以下のように述べられています。

セグエが A から B に移動する場合:

  1. B ビューのスナップショット イメージを保存し、このイメージ ビューを A のサブビューとして A ビューに追加します。

  2. 偽の画像ビューのズームイン アニメーションを実行します (画面全体に表示されるまで、B ビューがどんどん大きくなるように動作します)。

  3. ズームイン アニメーションが完了したら、ナビゲーション コントローラーを使用してアニメーションなしで実際の B ビューをプッシュし、A ビューから偽のイメージ ビューを削除します。

セグエが B から A に移動する場合 (アンワインド):

  1. B ビューのスナップショット イメージを保存し、A のサブビューとして A ビューに追加し、前面に移動します。

  2. ナビゲーション コントローラーを使用してアニメーションなしで B ビューをポップする

  3. 偽の画像ビューのズームアウト アニメーションを実行します (ビューが小さすぎて見えなくなるまで、B ビューがどんどん小さくなっていくように動作します)。

A から B のケースでは問題なく動作しますが、B から A のケースでは、ステップ 2 の後、実際の B ビューがなくなり、A ビューの上に B の偽のイメージ ビューが表示されます。ここで問題が発生します.Bの偽の画像ビューがステップ3の後にAビューのサブビューから削除されなかった場合、Aビューが表示されたときにBはAのサブビューにまだ存在するはずですが、このサブビューはなくなったようです.

ここで同じ問題を見つけました:カスタム ポップ セグエ中にビュー トランジションがアニメーション化されませんが、誰もそれに答えていません。

それで、誰かアイデアはありますか?

4

1 に答える 1