Wednesday 23 February 2011

Hide UITabBarController/UITabBar with animation.

BOOL hiddenTabBar;
UITabBarController *tabBarController;

- (void) hidetabbar {

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];

for(UIView *view in tabBarController.view.subviews)
{

if([view isKindOfClass:[UITabBar class]])
{

if (hiddenTabBar) {
[view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
}
} else {
if (hiddenTabBar) {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}

}
}

[UIView commitAnimations];

hiddenTabBar = !hiddenTabBar;
}

//Taken from https://sites.google.com/a/injoit.com/knowledge-base/for-developers/graphics/hide-uitabbarcontroller-uitabbar-with-animation