Question

I'm surprised this hasn't been asked and answered before.. I searched for hours and couldn't find an answer.. I have a tabbarcontroller with 6 viewcontrollers. Because of this, the more tab is displayed and the other two viewcontrollers now reside in the more view. The issue is, I can set tabbar item images to the first 4 viewcontrollers but anything outside of that I get a index out of bounds which makes sense since the other two are no longer part of the tabBar.items's index.

How can I add tabbar item images to the items in the more controller??

UITabBar *tabBar = tbc.tabBar;

UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];
UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3];
UITabBarItem *tabBarItem5 = [tabBar.items objectAtIndex:4];


tabBarItem1.selectedImage = [[UIImage imageNamed:@"news"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tabBarItem1.image = [[UIImage imageNamed:@"news"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tabBarItem1.title = @"Reports";

tabBarItem2.selectedImage = [[UIImage imageNamed:@"content"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tabBarItem2.image = [[UIImage imageNamed:@"content"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tabBarItem2.title = @"Media Articles";

tabBarItem3.selectedImage = [[UIImage imageNamed:@"map_marker"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tabBarItem3.image = [[UIImage imageNamed:@"map_marker"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tabBarItem3.title = @"Map of Reports";

tabBarItem4.selectedImage = [[UIImage imageNamed:@"twitter"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tabBarItem4.image = [[UIImage imageNamed:@"twitter"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tabBarItem4.title = @"BFRO News";

tabBarItem5.selectedImage = [[UIImage imageNamed:@"help"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tabBarItem5.image = [[UIImage imageNamed:@"help"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tabBarItem5.title = @"FAQs";

enter image description here

Was it helpful?

Solution

I figured it out. I am able to add images to the more table using the code below:

UITableView *view = (UITableView *)tabBarController.moreNavigationController.topViewController.view;
    if ([[view visibleCells] count] > 0) {
        [[[[view visibleCells] objectAtIndex:0] imageView] setImage:[UIImage imageNamed:@"help"]];
        [[[[view visibleCells] objectAtIndex:1] imageView] setImage:[UIImage imageNamed:@"camping_tent"]];
    }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top