Search code examples
iosobjective-cuinavigationcontrolleruitabbar

Tab bar is hidden in iOS


I have a tab bar controller with four tabs. For one tab, i have created a new storyboard with navigation view controller and simple UIViewController. For other tabs, connected view controllers with navigation controller within the same storyboard.

When i try to launch first view controller from new storyboard from first tab, it is not showing tab bar. for others it is showing tab bar properly.

 -(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
    NSInteger index = [tabBar.items indexOfObject:item];
    if(index == 0){
        UIViewController *suggestionsViewCintroller = (UIViewController *)[[UIStoryboard storyboardWithName:@"suggestions_view" bundle:nil] instantiateViewControllerWithIdentifier:@"suggestions_view_controller"];
        [self addChildViewController:suggestionsViewCintroller];
        [self.view addSubview:suggestionsViewCintroller.view];

        suggestionsViewCintroller.hidesBottomBarWhenPushed = NO;
        [suggestionsViewCintroller didMoveToParentViewController:self];
    }
}

Navigation controller configuration in storyboard : enter image description here

View controller and tab bar controller are in different storyboards.

Why is it not showing tab bar in view?


Solution

  • Calling 'addChildViewController' you do not add tab in UITabBarController. This call just add child view controller over whole view of UITabBarController. So it is quit reasonable, that you can not see tabbar.

    If you wish to add view controller as TAB of UITabBarController, you should use 'viewControllers' property as shown here: https://stackoverflow.com/a/11399634/4322841

    And should maybe use 'selectedIndex' property.