2012年8月18日土曜日

【iPhone】UINavigationControllerをrootViewControllerにしている状態でUITabBarController+UINavigationControllerに切り替える方法

UINavigationControllerをrootViewControllerにしている状態で、
UITabBarController+UINavigationControllerに切り替える方法

-(IBAction)goToTopMenuView:(id)sender{
  UITabBarController *tabBarController = [[UITabBarController alloc] init];
  //FirstViewController(inherited UIViewController)をUINavigationControllerのルートにセットする
  FirstViewController* vc1 = [[FirstViewController alloc] init];
  UINavigationController* navController1 = [[UINavigationController alloc]initWithRootViewController:vc1];

  //SecondViewController(inherited UIViewController)をUINavigationControllerのルートにセットする
  SecondViewController* vc2 = [[SecondViewController alloc] init];
  UINavigationController* navController2 = [[UINavigationController alloc]initWithRootViewController:vc2];

  //ThirdViewController(inherited UIViewController)をUINavigationControllerのルートにセットする
  ThirdViewController* vc3 = [[ThirdViewController alloc] init];
  UINavigationController* navController3 = [[UINavigationController alloc]initWithRootViewController:vc3];

  //FourthViewController(inherited UIViewController)をUINavigationControllerのルートにセットする
  FourthViewController *vc4 = [[FourthViewController alloc]init];
  UINavigationController* navController4 = [[UINavigationController alloc]initWithRootViewController:vc4];

  NSArray* controllers = [NSArray arrayWithObjects:
            navController1,
            navController2,
            navController3,
            navController4,
            nil];

  tabBarController.viewControllers = controllers;


  // アプリケーションのキーウィンドウを取得して、そのルートビューコントローラーを置き換える
  [UIApplication sharedApplication].keyWindow.rootViewController = tabBarController;
}

0 件のコメント:

コメントを投稿