私は UINavigationController の通常のパラダイムを壊しているか、少なくともそうしようとしています。
Navigation Controller がスタックを介してナビゲーションを管理することはわかっています。ルート コントローラー A で初期化し、B に移動してから C に移動すると、スタックは C/B/A のようになります。
私がやりたいのは、ビュー C に別のビュー (X など) を表示するボタンがありますが、ナビゲーション コントローラーのナビゲーション バーはそのままにしておくことです。基本的に、スタックの「C」と「X」を切り替えます。以下に示すように、CをオフにしてすぐにXを押すことでそれを達成しようとしましたが、うまくいきませんでした。ここで間違った道を進んでいますか?
-(IBAction)showViewX:(id)sender {
[[self.parentViewController navigationController] popViewControllerAnimated:NO];
XViewController *xViewController = [[XViewController alloc]
initWithNibName:@"X"
bundle:[NSBundle mainBundle]];
[[self.parentViewController navigationController] pushViewController: xViewController animated:YES];
[xViewController release];
}