私は次のことを達成しようとしています:
ナビゲーション コントローラーにいて、ViewController をプッシュしたとします。ユーザーがタブ バーの別の項目をタップします。別のView Controllerに移動する前に、プッシュされたView Controllerをポップ(アニメーション化)したいのですが、新しいView Controllerをルートとして使用して、プッシュされたView Controllerが消えると表示されるようにします。
説明するのは難しいですが、 popToRootViewController のアニメーションのためにプッシュされたビューコントローラーが消えたときに、古いビューコントローラーが表示されてから新しいビューコントローラーに移動するのではなく、新しいビューコントローラーが表示されるようにしたいだけです。
ビュー コントローラ B に対応するタブ バーのオプション b にいて、C ビュー コントローラが押されていると想像してください。
あ
B -> C
ユーザーは、
こうなってほしい
A -> C
B -> C
次に、A viewController を選択し、A ケースでアニメーション化され、B ケースでアニメーション化されていない両方の C をポップします。
これは私のコードです:
[(UINavigationController *)self.tabBar.selectedViewController popToRootViewControllerAnimated:NO];
UIViewController * viewControllerToPush = self.tabBar.selectedViewController;
self.tabBar.selectedIndex = indexPath.row;
[(UINavigationController *)self.tabBar.selectedViewController pushViewController:viewControllerToPush animated:NO];
[(UINavigationController *)self.tabBar.selectedViewController popToRootViewControllerAnimated:YES];
しかし、機能していません。「ナビゲーションコントローラーのプッシュはサポートされていません」というメッセージが表示されます
viewControllers をあるナビゲーション コントローラーから別のナビゲーション コントローラーに移動することは可能ですか? 何か案は?