2

UINavigationController からすべてのビューコントローラーを削除したいと考えています。だから私はこのコードを使用しています。

for (UIViewController* controller in navigationController.viewControllers) {
[controller removeFromParentViewController];
}

その後、新しいviewControllerを作成してプッシュします。

 UIViewController* newVC=[[UIViewController alloc] init]; 
 [navigationController pushViewController:newVC animated:YES];

問題は、すべてのビューコントローラーが完全にポップアウトして newVC を追加することですが、newVC を押すと、ナビゲーションバーに戻るボタンと newVC のタイトルが表示されます。戻るボタンをクリックすると、上記のループで既に削除した oldVC のタイトルで oldVC のナビゲーションバーにアニメーション化されます。

4

2 に答える 2

0

removeFromParentViewControllerUIViewControllerメソッドなので関係ないのが普通UINavigationBar

の場合UINavigationControllerpopViewControllerAnimated:メソッドはremoveFromParentViewControllerナビゲーション バーとともにパーツを処理します。

`setViewControllers:animated: を呼び出して、viewControllersの配列全体を直接更新できます。UINavigationController

navigationController での rootView の置き換えを参照してください

于 2013-09-10T14:57:13.707 に答える
0

[navigationController setViewControllers:[NSArray arrayWithObject:newVC]];

于 2013-09-10T15:17:42.163 に答える