私のアプリケーションフローは以下のとおりです。ここで、 A、 B 、 c 、および D はビューコントローラーです。矢印は、View Controller から、および View Controller への提示を示します。
ここで、 A に戻る B 、 C 、および D ビューコントローラーにホームボタンが必要です。ストーリーボードを使用していません。場合によっては、必要な 2 つまたは 3 つの以前のビュー コントローラーが閉じられる場合があります。
この点に関する提案は役に立ちます。
私のアプリケーションフローは以下のとおりです。ここで、 A、 B 、 c 、および D はビューコントローラーです。矢印は、View Controller から、および View Controller への提示を示します。
ここで、 A に戻る B 、 C 、および D ビューコントローラーにホームボタンが必要です。ストーリーボードを使用していません。場合によっては、必要な 2 つまたは 3 つの以前のビュー コントローラーが閉じられる場合があります。
この点に関する提案は役に立ちます。
UINavigationController のルート ビュー コントローラーとして A を使用する必要があるようです。B、C、D が行う必要があるのは、popToRootViewControllerを呼び出すことだけです。
ログイン ビュー コントローラーを A からプッシュする必要がありますが、コードを AppDelegate に配置することで、ユーザーに表示されずにプッシュできます (これは、ユーザーがログインする必要があるかどうかを確認する場所である可能性があります)。とりあえず)。
setViewControllers:animated: を使用するのはどうですか。どこにいても、firstViewController = [self.navigationController viewController] firstObject]、次に [self.navigationController setViewControllers:@[firstViewController]animated:YES] として最初のビュー コントローラーを取得します。
ここを参照してください: setViewControllers:animated: