Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Moving UITabBarItem Image down?

Normally on each tab of a UITabBar you have a small image and a title naming the tab. The image is positioned/centred towards the top of the tab to accommodate the title underneath. My question is: if you want to have a tabBar with just an image and no title is there a way to move the image down so it centers better within the tab?

I am using (see below) currently:

[tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected]; 

but would prefer to use to larger image with no title, at the moment if I make the image bigger than about 70pixels@2x it starts edging off the top of the UITabBar whilst leaving a lot of unused space at the bottom.

like image 666
fuzzygoat Avatar asked Apr 29 '13 17:04

fuzzygoat


2 Answers

Try adjusting tabBarItem's imageInsets (for moving the icon image) and setting the controllers title to nil (so no title is displayed). Put something like this to -init or -viewDidLoad method in view controller:

Objective-C

self.tabBarItem.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); self.title = nil; 

Swift

self.tabBarItem.imageInsets = UIEdgeInsets(top: 6, left: 0, bottom: -6, right: 0) self.title = nil 

UITabBarItem is a subclass of UIBarItem which has UIEdgeInsets imageInsets property. Play a little with the insets until it looks good (depending on your tabbar icon images)

like image 136
Lukas Kukacka Avatar answered Sep 22 '22 19:09

Lukas Kukacka


You can do it via storyboard too. Select your tabbaritem, go to size inspector and assign the appropriate insets.

enter image description here

*Demonstrated on Xcode, Version 7.3.1 (7D1014)

like image 21
Neil Galiaskarov Avatar answered Sep 22 '22 19:09

Neil Galiaskarov