コールバックまたはイベントをビューコントローラで取得するときに、interactivePopGestureRecognizer
によって解決(ポップ)されるクリーンなソリューションはありますか?interactivePopGestureRecognizerのコールバック/イベントの拒否を取得する
明確にするには、コントローラがこのジェスチャ認識子によってポップされる前に、一番上のコントローラ(および他のコントローラ)で呼び出される明示的なメソッドが必要です。私はナビゲーションコントローラ上のイベントを取得し、適切なコントローラにイベントを送信したいと私は使用したくないviewWillAppear
またはviewWillDissapear
...
私はターゲット/セレクタのペアを追加することですジェスチャーには2つの問題しかありません。コントローラーが解雇されるかどうかは、まずは直接の情報を得ることができません(いずれにしてもUIGestureRecognizerStateEnded
が発動します)。コントローラが却下された後、私は認識装置からターゲットを削除する必要があります。
私はいくつかの情報を代理人に送信する必要があるコントローラがいくつかあります。 「完了」ボタンと「キャンセル」ボタンがあると、イベントがトリガーされ、デリゲートメソッドが呼び出され、コントローラがポップされます。できるだけコードを変更する必要はありません。
このジェスチャーのもう1つの状況は、アラートビューを表示してアクションを元に戻す可能性があります。このジェスチャーが終了したときにアラートビューを表示する方法はありますか?コントローラがポップされるか戻されるかを選択します。
興味深い問題です。 'interactivePopGestureRecognizer'を無効にして自分自身を登録するか、iOS 7の[対話的な遷移](http://www.objc.io/issue-5/view-controller-transitions.html) –
を使用する必要があると感じています私はあなたが正しいかもしれないと恐れています。これは一般的な問題ではないと奇妙に思えます。私は、少なくともいくつかの点でこれを実装する必要があるかなりの数のアプリを期待しています。カスタムトランジションを実装する上で最悪のことは、各コントローラでジェスチャを明示的に無効にし、ポップした後(または別のものをプッシュした後)に再度有効にする必要があることです。 –