How To Change Tab bar color in Xcode

How do I go about changing the tab bar color in this code? My tab bar is black. On click changes it to blue. I want to change the tow color to any other color.

This code is from :application.m
and there :rotatingTabBarController.m ,rotatingTabBarController.h

  • Make a Custom Class Serializable in Objective-c/iPhone?
  • how to resignFirstResponder from view controller
  • NSString to NSArray
  • Convert decimal to fraction in Objective-C?
  • Xcode - How to change application/project name : what do I need to to update and check?
  • How do i replace spaces with +'s in Xcode
  • //  1B) If this app uses tabs, create a tabbed navigation application and set the default screen for each tab
    //      to the defaultScreenGuid in the tabs data
    if([self.tabs count] > 0){
        [BT_debugger showIt:self:[NSString stringWithFormat:@"building a tabbed based navigation app%@", @""]];
    
        if([self.screens count] > 0){
    
            //appDelegate
            qoqb_appDelegate *appDelegate = (qoqb_appDelegate *)[[UIApplication sharedApplication] delegate];   
    
            //initialize the tab bar controller
            rootTabBarController = [[BT_rotatingTabBarController alloc] init];
            [rootTabBarController.view setFrame:[[UIScreen mainScreen] bounds]];
            [rootTabBarController setDelegate:appDelegate];
            rootTabBarController.view.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
    
            //if we have a tabbar color setup in the theme
            if(self.rootTheme != nil){
                if([self.rootTheme.jsonVars objectForKey:@"tabBarColor"]){
                    if([[self.rootTheme.jsonVars objectForKey:@"tabBarColor"] length] > 3){
                        UIColor *tabberColor = [BT_color getColorFromHexString:[self.rootTheme.jsonVars objectForKey:@"tabBarColor"]];
                        NSString *tabberOpacity = @".50";
                        if([self.rootTheme.jsonVars objectForKey:@"tabBarColorOpacity"]){
                            if([[self.rootTheme.jsonVars objectForKey:@"tabBarColorOpacity"] length] > 0){
                                tabberOpacity = [NSString stringWithFormat:@".%@", [self.rootTheme.jsonVars objectForKey:@"tabBarColorOpacity"]];
                                if([tabberOpacity isEqualToString:@".100"]) tabberOpacity = @".50";
                            }
                            //colorize the tab-bar
                            [rootTabBarController addTabColor:tabberColor:[tabberOpacity doubleValue]];
                        }
                    }
                }
            }
    
            //Fill a temporary array of view controllers to assign to tab bar controller
            NSMutableArray *tmpViewControllers = [[NSMutableArray alloc] init]; 
    
            //loop through each tab bar item in application data
            for(int i = 0; i < [[self tabs] count]; i++){
    
                //this tab
                BT_item *thisTab = (BT_item *)[[self tabs] objectAtIndex:i];
                NSString *textLabel = [[thisTab jsonVars] objectForKey:@"textLabel"];               
                UIImage *tabIcon = [UIImage imageNamed:[[thisTab jsonVars] objectForKey:@"iconName"]];              
    
                //get the screen from the apps array of screens for this tab's view controller
                if([[thisTab jsonVars] objectForKey:@"homeScreenItemId"]){
    
                    BT_item *thisTabsDefaultScreenData = [self getScreenDataByItemId:[[thisTab jsonVars] objectForKey:@"homeScreenItemId"]];
    
                    //if this is the first tab in the list, remember it as the "currently loaded screen", also make it the "previously loaded screen"
                    if(i == 0){
                        [self setCurrentScreenData:thisTabsDefaultScreenData];
                        [self setPreviousScreenData:thisTabsDefaultScreenData];
                        [thisTabsDefaultScreenData setIsHomeScreen:TRUE];
    
                        //if theScreen has an audio file..load it in the delegate
                        if([[BT_strings getJsonPropertyValue:thisTabsDefaultScreenData.jsonVars:@"audioFileName":@""] length] > 3){
    
                            //appDelegate
                            qoqb_appDelegate *appDelegate = (qoqb_appDelegate *)[[UIApplication sharedApplication] delegate];   
    
                            //initialize audio in different thread to prevent UI blocking
                            [NSThread detachNewThreadSelector: @selector(loadAudioForScreen:) toTarget:appDelegate withObject:thisTabsDefaultScreenData];
    
                        }                       
    
                    }   
    

    5 Solutions Collect From Internet About “How To Change Tab bar color in Xcode”

    tabBar.tintColor = [UIColor greenColor];
    

    will crash if your IOS version is not IOS 5 see the docs

    a safer approach is:

    if ([tabBarController.tabBar respondsToSelector:@selector(setTintColor:)]) {
        [tabBarController.tabBar setTintColor:color];
    }
    

    //NEW CODE

    if ([rootTabBarController.tabBar respondsToSelector:@selector(setTintColor:)]) {
        [rootTabBarController.tabBar setTintColor:tabberColor];
    }
    

    In the AppDelegate.m inside at: application didFinishLaunchingWithOptions:

    Using this coding:

    // use this for highlighted color
    [[UITabBar appearance] setSelectedImageTintColor:[UIColor colorWithRed:(256/256.0) green:(0/256.0) blue:(0/256.0) alpha:(1.0)]];
    
    // Use this to channge the tint colo of the entere TabBar
    [[UITabBar appearance] setTintColor:[UIColor colorWithRed:(255/256.0) green:(0/256.0) blue:(0/256.0) alpha:(1.0)]];
    
    // This change only a background color
    [[UITabBar appearance] setBackgroundColor:[UIColor colorWithRed:(255/256.0) green:(255/256.0) blue:(255/256.0) alpha:1.0]];
    
    // This for change IMG or color tint on back of highlighted button.
    [[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"YourIMG.png"]];
    

    That’s it that’s all 😉

    tabBar.tintColor = [UIColor greenColor];
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    self.tabBarController.tabBar.tintColor=[UIColor redColor];
    return YES;
    
    }
    

    In AppDelegate.m

    In IOS7 this is done differently:

    [[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];
    

    You can follow these steps:

    I created a new UINavigationController for example UIDemoNavController resulting in:

    - (void)viewDidLoad{
        [[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];  
        [super viewDidLoad];
    }
    

    This is the full demo class:

    #import "UIDemoNavController.h"
    
    @interface UIDemoNavController()
    
    @end
    
    @implementation UIDemoNavController
    
    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {}
        return self;
    }
    
    - (void)viewDidLoad{
        [[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];
        [super viewDidLoad];
    }
    
    - (void)didReceiveMemoryWarning{
        [super didReceiveMemoryWarning];
    }
    
    @end