How to change the width of UITabBarItem?

demon9733 picture demon9733 · Jul 31, 2011 · Viewed 9.3k times · Source

How to change the width of UITabBarItem?

I have an item with the title, that is wider than default item width. How can I fix it?

Answer

jomafer picture jomafer · Apr 17, 2014

Solution for iOS7 and greater versions:

A new property has been introduced for UITabBar: itemWidth.

Set the itemWidth to a positive value to be used as the width for tab bar items when they are positioned as a centered group (as opposed to filling the tab bar). Default of 0 or values less than 0 will be interpreted as a system-defined width.

@property(nonatomic) CGFloat itemWidth NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR;

So you can do this in your AppDelegate:

[[UITabBar appearance] setItemWidth:WIDTH];

If you want to fill the whole UITabBar:

[[UITabBar appearance] setItemWidth:self.window.frame.size.width/NUMBER_OF_ITEMS];

How to fill the UITabBar