我自定义了UITabbarController
并为其提供了5 NavigationController
,例如:
WXCustomerBar* bar = [[WXCustomerBar alloc]init];
[bar setViewControllers:[NSArray arrayWithObjects:
[[UINavigationController alloc]initWithRootViewController:[[IndexView alloc]init]], [[UINavigationController alloc]initWithRootViewController:[[SecondView alloc]init]]
在显示标签栏的indexView
中,当我点击按钮以显示另一个视图settingView
时,我想要隐藏标签栏。然后,当我单击设置View中的按钮,进入SecondView时,我想显示标签栏。
这是我目前的方法:
-(void)presentToNetViewController:(id)viewController
{
if (![viewController isKindOfClass:[WXCustomerBar class]]) {
UINavigationController* navi = [[UINavigationController alloc]initWithRootViewController:viewController];
[self presentViewController:navi animated:YES completion:nil];
}else
{
[self presentViewController:viewController animated:YES completion:nil];
}
}
我不是英语,对不起我的奇怪语言。
答案 0 :(得分:0)
UIViewController具有hidesBottomBarWhenPushed
属性。将其设置为YES
,当您执行[self presentViewControlller: viewController animated: YES completion: nil]
时,该栏会自动隐藏,直到您按下后退按钮。
除此之外,您还可以通过这样做告诉UITabBarController本身隐藏:
[self hideTabBar: self.navigationController.tabBarController];
您可以查看以下答案:How to hide uitabbarcontroller