インタラクティブトランジションがキャンセルされると、提示されたビューコントローラは決して解放されません(deallocは決して呼び出されません)。インタラクティブトランジションが正常に完了すると、すべて正常ですが、このトランジションがキャンセルされると、デスティネーションビューコントローラは決して解放されないようです。その結果、メモリが失われますが、メモリリークは発生しません(少なくともInstrumentsでは検出されません)。私は間違ったことをしている可能性がありますが、私はそれが何かを見ません。他の誰かがこの問題を抱えているという証拠を見つけることができなかったので、私はそれが私だと思います。iOS 7インタラクティブトランジションをキャンセルしても表示されたビューコントローラが解放されない
私は問題を示す非常に小さなサンプルプロジェクトを持っています(https://github.com/mparma-isi/InteractiveTransitionIssue.git)。赤い四角形のタップが2番目のビューコントローラへのトランジションを実行します。第2のコントローラのタップは、そのコントローラを第1のコントローラに戻す。最初のビューコントローラーの赤い四角の内側のピンチジェスチャーは、UIPercentDrivenInteractiveTransitionを使用してインタラクティブなトランジションを開始します。トランジション(ピンチの負の速度)をキャンセルすると、表示されたビューコントローラは解放されません。移行が完了すると、すべて正常に動作します。
ご協力いただきありがとうございます。
マイク
私は少し遅れて返信すると思いますが、私もこの問題に直面しています。実際、それは私が見つけることができるすべての例に存在するので、これはUIKitバグであると仮定することは安全だと思います。あなたはおそらく、回避策を考え出しましたか? – Nicky
まだ変わらない –