0

アプリを変更したばかりで、かなり混乱しています。それはルートビューから始まり、2番目のビューをプッシュしました.そのビューには別のビューをプッシュするボタンがあります.

ルート ビューからのコード:

 //This works
 [[self navigationController] presentViewController:secondViewController
                                          animated:YES completion:nil];

2 番目のビューからのコード:

 //This Does not work
 [[self navigationController] pushViewController:locactionView animated:YES];

編集:詳細が不足していて申し訳ありません。例外はスローされず、単に「ロケーション ビュー」がプッシュされません。ビューを提示する前にプッシュしたところ、すべてうまくいきました。また、ビューが最初にプッシュされたときはナビゲーション バーが表示されていましたが、View Controller が表示されているため、ビューをプッシュしたり、ナビゲーション バーを表示したりすることはできません。これが役立つことを願っています。問題が発生する前に 1 行だけ変更したため、追加できるコードがわかりません。

4

2 に答える 2

0

階層を次のように設定している場合:

self.rootViewController = [[RootViewController alloc] initWithNibName:@"RootViewController"
                                                               bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:self.rootViewController];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];

このような問題は発生しないはずです。あなたの問題は、あなたがモーダルに提示したビューコントローラーからナビゲーションコントローラーにプッシュしようとしていることかもしれませんが、それはできません

于 2013-03-07T15:37:52.750 に答える
0

AppDelegate では、最初に rootViewController を使用して NavigationController を初期化し、次にビューコントローラーをスタックにプッシュして、問題を解決できます。

YourNavigationController *yourNavigationController = [[YourNavigationController alloc] initWithRootViewController:self.firstViewController];
于 2013-03-07T15:28:53.223 に答える