- (void)setTabBarHidden:(BOOL)hidden
{
UIView *tab = self.tabBarController.view;
if ([tab.subviews count] < 2) {
return;
}
UIView *view;
if ([[tab.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]]) {
view = [tab.subviews objectAtIndex:1];
} else {
view = [tab.subviews objectAtIndex:0];
}
if (hidden) {
view.frame = tab.bounds;
} else {
view.frame = CGRectMake(tab.bounds.origin.x, tab.bounds.origin.y, tab.bounds.size.width, tab.bounds.size.height);
}
self.view.frame = view.frame;
self.tabBarController.tabBar.hidden = hidden;
}