最近iphoneアプリの開発をメインでやっており、色々調べながらやっているのですが、
どれもインターフェースビルダーや、ストーリーボードを使った説明が多く個人的にはやりずらい印象をもっております。
と言う事で、色々探した結果、コードでUITabbarとUINavigationBarを共存させる方法が見つからなかったので、自力でとりあえず動いた方法を下記にメモします。
余力があればgithubにあげたいと思います。
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { _window= [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; _tabBarController = [[UITabBarController alloc] init]; //tabbarコントローラ初期化 // TabBarControllerに加える3つのViewController UIViewController *firstViewController = [[FirstViewController alloc] init]; UIViewController *secondViewController = [[SecondViewController alloc] init]; UIViewController *thirdViewController = [[ThirdViewController alloc] init]; //first用UINavigationController のルート画面 UINavigationController *naviFirstViewController = [[UINavigationController alloc] initWithRootViewController:scanViewController]; //UINavigationController のルート画面 UINavigationController *naviSecondListController = [[UINavigationController alloc] initWithRootViewController:secondViewController]; // tab bar controller の初期化 self.tabBarController.viewControllers =[NSArray arrayWithObjects:naviFirstViewController, naviSecondListController, thirdViewController, nil]; [self.window addSubview:self.tabBarController.view]; [self.window makeKeyAndVisible]; return YES; }
上記は、左から2つ目までのタブはそれぞれ、ナビゲーションバーをもっていて、それを最後にタブバーにセットしています。
やっぱりコードで書いた方が、何をやっているかしっくりくるし、
IBやXibもあわせてみる必要がなく大変扱いやすいです。