#AKTabBarController
AKTabBarController is an adaptive and customizable tab bar for iOS.
##Features
- Portrait and Landscape mode tab bar.
- Ability to set the height of the tab bar.
- Ability to hide the tab bar when pushed.
- Ability to set the minimum height of the tab bar to allow display the title.
- Ability to hide the title in the tabs.
- When the height of the tab bar is too small, the title is not displayed.
- Only one image is needed for both selected and unselected states (style is added via CoreGraphics).
- Images are resized when needed and particularly in landscape mode.
- Animated state of the tabs with a nice cross fade animation.
##Usage
// Create and initialize the height of the tab bar to 50px.
self.tabBarController = [[AKTabBarController alloc] initWithTabBarHeight:50];
// Adding the view controllers to manage.
[self.tabBarController setViewControllers:[NSMutableArray arrayWithObjects:
[[FirstViewController alloc] init],
[[SecondViewController alloc] init],
[[ThirdViewController alloc] init],
[[FourthViewController alloc] init],nil]];
(in each view controller)
// Setting the image of the tab.
- (NSString *)tabImageName
{
return @"myImage";
}
// Setting the title of the tab.
- (NSString *)tabTitle
{
return @"Tab";
}
[self.tabBarController setMinimumHeightToDisplayTitle:50];
[self.tabBarController setTabTitleIsHidden:NO];
When pushing a viewcontroller in the viewControllers stack of an UINavigationController it is possible to hide the tab bar. It works exactely like the original UITabBarController:
[viewController setHidesBottomBarWhenPushed:YES];
For further details see the Xcode example project.
##Requirements
- iOS >= 4.3
- ARC
- QuartzCore.framework
##Screenshots
##Todo
- Ability to set any background pattern.
- Support different styles (dark, light, etc).
##Credits
- Largely inspired by Brian Collins's BCTabBarController (for views imbrication).
- Icons used in the example project are designed by Tomas Gajar (@tomasgajar).
Ali Karagoz
AKTabBarController is available under the MIT license. See the LICENSE file for more info.