隐藏iOS 6中的TabBar

我想在iOS 6隐藏我的TabBar,当我编写下面给出的代码在iOS 7工作,但它显示iOS 6黑线

 self.tabBarController.tabBar.hidden = YES; 

这里是iOS 6快照

尝试使用下面的代码可能会帮助你…

 - (void)hideTabBar:(UITabBarController *) tabbarcontroller { for(UIView *view in tabbarcontroller.view.subviews) { if([view isKindOfClass:[UITabBar class]]) { if([UIScreen mainScreen].bounds.size.height==568) { [view setFrame:CGRectMake(view.frame.origin.x, 568 +20, view.frame.size.width, view.frame.size.height)]; } else { [view setFrame:CGRectMake(view.frame.origin.x, 480+20, view.frame.size.width, view.frame.size.height)]; } } else { if([UIScreen mainScreen].bounds.size.height==568) { [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 568)]; } else { [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)]; } } } } - (void)showTabBar:(UITabBarController *) tabbarcontroller { for(UIView *view in tabbarcontroller.view.subviews) { if([view isKindOfClass:[UITabBar class]]) { if([UIScreen mainScreen].bounds.size.height==568) { [view setFrame:CGRectMake(view.frame.origin.x, 519, view.frame.size.width, view.frame.size.height)]; } else { [view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)]; } } else { if([UIScreen mainScreen].bounds.size.height==568) { [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 519)]; } else { [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)]; } } } } 

当你推视图控制器只使用你的ViewController.hidesBottomBarWhenPushed = YES; [yourTabbarNavigationController pushViewController:helpViewController animated:YES];

这将删除黑色transculent层,但如果你使用自定义的标签栏,那么你将不得不明确隐藏这些视图也。