Because the tab bar controller is a container view controller that is used to split an application into two or more different modes of operation, most applications have navigation controllers as children of tab bar controllers.
Apple's position is this:
, .
, - -... , , , Nav , . , , , , , Nav Controller. . .
, , , . , .
, :
UINavigationController *localNavigationController;
UITabBarController *tabBarController = [[UITabBarController alloc] init];
NSMutableArray *localControllersArray = [[NSMutableArray alloc] initWithCapacity:1];
RootViewController *myViewController;
myViewController = [[RootViewController alloc] initWithTabBar];
localNavigationController = [[UINavigationController alloc] initWithRootViewController:myViewController];
localNavigationController.navigationBar.barStyle = UIBarStyleBlack;
localNavigationController.delegate = self;
[localControllersArray addObject:localNavigationController];
[localNavigationController release];
[myViewController release];
tabBarController.viewControllers = localControllersArray;
tabBarController.moreNavigationController.navigationBar.barStyle = UIBarStyleBlack;
tabBarController.delegate = self;
tabBarController.moreNavigationController.delegate = self;
[localControllersArray release];
self.tabBarController.selectedIndex = 0;
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];
, , .
, .