Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Custom colors in UITabBar

Is it possible to use custom colors and background images in a UITabBar? I realize that Apple would like everyone to use the same blue and gray tab bars, but is there any way to customize this?

Second, even I were to create my own TabBar-like view controller, along with custom images, would this violate Apple's Human Interface Guidelines?

like image 575
pix0r Avatar asked Mar 23 '09 22:03

pix0r


People also ask

How do I add color to tabBar?

How to change tab bar text color (selected/unselected) In tab bar, there are two states of the text. One is when tab is selected and another one is when the tab is unselected. To change the text color for selected state, inside the TabBar widget, add the labelColor property and set the color.


2 Answers

I found an answer to this at Silent Mac Design.

I implemented this way:

First make a subclass of UITabBarContoller

// CustomUITabBarController.h  #import <UIKit/UIKit.h>  @interface CustomUITabBarController: UITabBarController {   IBOutlet UITabBar *tabBar1; }  @property(nonatomic, retain) UITabBar *tabBar1;  @end 

 

// CustomUITabBarController.m  #import "CustomUITabBarController.h"  @implementation CustomUITabBarController  @synthesize tabBar1;  - (void)viewDidLoad {   [super viewDidLoad];    CGRect frame = CGRectMake(0.0, 0, self.view.bounds.size.width, 48);    UIView *v = [[UIView alloc] initWithFrame:frame];    [v setBackgroundColor:[[UIColor alloc] initWithRed:1.0                                                green:0.0                                                 blue:0.0                                                alpha:0.1]];    [tabBar1 insertSubview:v atIndex:0];   [v release]; }  @end 

And in your Nib file replace the class of your TabBar Controller with CustomUITabBarController.

like image 83
Filiberto Cota Avatar answered Sep 25 '22 18:09

Filiberto Cota


FYI, from iOS 5 onwards you can customize various aspects of the UITabBar, including setting its background image using the backgroundImage property.

The new UITabBar "Customizing Appearance" properties in iOS 5 are:

backgroundImage  selectedImageTintColor   selectionIndicatorImage   tintColor   

Given that Apple have introduced these methods in iOS 5, then it's possible they may be more sympathetic to attempts to customize the UITabBar for earlier OSes. This website says the Twitter app uses a custom tab bar, so that might be more reason that Apple would let such an app into the App Store, it's no guarantee though!

like image 37
Dan J Avatar answered Sep 22 '22 18:09

Dan J