0

新しいプロジェクトを作成したところ、次のUINavigationControllerように追加する 4 つのビュー コントローラーがあります。

WatchViewController *first = [[WatchViewController alloc] init];
BetViewController *second = [[BetViewController alloc] init];
Settings *third = [[Settings alloc] init];
Account *forth = [[Account alloc] init];

UINavigationController *navFirst = [[UINavigationController alloc]initWithRootViewController:first];
UINavigationController *navSecond = [[UINavigationController alloc]initWithRootViewController:second];
UINavigationController *navThird = [[UINavigationController alloc]initWithRootViewController:third];
UINavigationController *navForth = [[UINavigationController alloc]initWithRootViewController:forth];

それらを配列にロードします。

NSArray *viewArray = [[NSArray alloc] initWithObjects:navFirst, navSecond, navThird, navForth, nil];

タブ バーとウィンドウを読み込みます。

self.tabController = [[UITabBarController alloc] init];
[self.tabController setViewControllers:viewArray animated:YES];

[self.window setRootViewController:self.tabController];

self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];

すべてのビューは単なる標準ビューです。アプリを実行しようとすると、次のように応答します。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing a navigation controller is not supported'

見逃したものを理解できません。何か助けはありますか?

4

4 に答える 4

1

これを試してください:

WatchViewController *first = [[WatchViewController alloc] initWithNibName:@"WatchViewController" bundle:Nil];
BetViewController *second = [[BetViewController alloc] initWithNibName:@"BetViewController" bundle:Nil];
Settings *third = [[Settings alloc] initWithNibName:@"Settings" bundle:Nil];
Account *forth = [[Account alloc] initWithNibName:@"Account" bundle:Nil];

/*Your View Navigation Stuff and your viewArray*/

self.tabController.viewControllers = viewArray;
于 2013-07-01T12:10:52.253 に答える
1

4 つのナビゲーション コントローラーを作成しないでください。ナビゲートするために必要なコントローラーは、メソッドを介してviewControllersプロパティに割り当てる必要があります。UINavigationControllersetViewControllers:animated:

1 つの NavigationController を作成し、4 つの UIViewController の配列を追加する必要があります。

非常に良い例がここに示されています:とここを見ることを忘れないでUINavigationClass

于 2013-07-01T12:13:42.077 に答える