目前,通过UITabBarController切换了五个UIViewControllers。如何隐藏TabBar并为其中一个UIViewControllers提供全屏?
例如:
答案 0 :(得分:4)
您可以将视图控制器放在导航控制器中,并将视图控制器的hidesBottomBarWhenPushed
属性设置为YES
。隐藏状态栏可以使用共享应用程序对象的statusBarHidden
属性来完成。
答案 1 :(得分:1)
首先,右键单击Interface Builder中的标签栏,然后将“委托”拖动到“文件所有者”。
然后,将以下方法添加到选项卡栏控制器:
– (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
[UIView animateWithDuration:0.5 animations:^(void) {
tabBar.transform = CGAffineTransformMakeTranslation(0, 480);
}];
}
单击按钮时,将标签栏添加为标签栏控制器的插座, 然后在按下按钮时执行以下操作:
[UIView animateWithDuration:0.5 animations:^(void) {
tabBarController.tabBar.transform = CGAffineTransformMakeTranslation(0, 431);
}];
完成!
答案 2 :(得分:1)
要隐藏标签栏,您可以使用:
tabBarController.tabBar.hidden = YES;
您可以通过与中间标签栏视图相关联的控制器的viewWillAppear
方法或在标签栏控制器委托–tabBarController:shouldSelectViewController:
您必须在所有其他视图控制器的viewWillAppear
中执行相反的操作,或者在单击“恢复”按钮时执行相反操作;
为了隐藏状态栏:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
与上述相同的地方。
答案 3 :(得分:0)
我通过以下方式解决了这个问题。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
segue.destinationViewController.hidesBottomBarWhenPushed = YES
}