3

私は UINavigationController を持っていて、現在のトップオブスタック コントローラーにいます。新しいコントローラーをプッシュしてから、現在の VC を削除したいと考えています。要するに、から行きます

[ViewController A]
[ViewController B]

[ViewController A]
[ViewController B]
[ViewController C]

[ViewController A]
[ViewController C]

VC B でこれを達成するには、次のようにします。

[self.navigationController pushViewController:VCC animated:YES];
[self removeFromParentViewController];

navigationItem スタックに A と C の間に挟まれた VC B の title/backButton がまだあることを除いて、正常に動作します。

UINavigationController スタックから VC を削除し、navigationItem スタックを更新するにはどうすればよいですか?

4

1 に答える 1

3

ビューコントローラーの配置/削除の「スタイル」が原因で、ナビゲーション項目が表示されませんでした。

newviewcontrollerをnavigationcontrollerにプッシュする前に、最初に2回[self removeFromParentViewController]使用する代わりに[[self navigationController] popViewControllerAnimated:NO]

別の方法は次のとおりです。

NSMutableArray *VCs = [self.navigationController.viewControllers mutableCopy];
[VCs removeObjectAtIndex:[VCs count] - 2];
self.navigationController.viewControllers = VCs;

これを見てください:プッシュされたView Controllerの下にView Controllerをポップするにはどうすればよいですか?

試してみる。

于 2013-07-07T05:17:45.230 に答える