ユーザーが [戻る] ボタンを押してアクティブな UINavigationController から現在の UIViewController をポップする場合、特定の特殊なケースでは、同じナビゲーション コントローラーから別の UIViewController (新しいトップのもの) をプログラムでポップする必要があります。
(詳細には立ち入りませんが、これは Apple のヒューマン インターフェイス ガイドラインに違反していないと信じてください。逆に、余分な VC をポップしないと、ガイドラインに違反する可能性があります)。
考えられる唯一の方法は に を配置することですpopViewControllerAnimated:
がviewWillDisappear:
、残念ながらこれは機能しません (ポップしたい VC が の最後のオブジェクトとして表示されますがself.navigationController.viewControllers
)。私は電話で YES と NO の両方を試しました。
VC がいつポップされようとしているのかを検出する動作がなく、VC がプッシュされようとしているときにのみ検出するため、viewWillDisappear:
以前に VC がいつポップされようとしているのかを検出する方法を見つけることができませんでした。UINavigationControllerDelegate
これを行う方法はありますか?