iOS TabbarViewController隐藏标签栏
我有一个viewcontroller,它实现UITabbarViewController,我想隐藏标签栏并覆盖它自己,
self.tabBar.hidden = YES;
标签栏消失,但在视图的底部有一个空白区域(蓝色的)。 我不想要空白区域,我该如何解决这个问题? 谢谢。
编辑:蓝色区域是:
self.view.backgroundColor = [UIColor blueColor];
我们在应用程序中完全一样。 要隐藏默认的TabBar,只需重写父视图控制器中的hidesBottomBarWhenPushed
方法(或者在App中的每个视图控制器中)
#pragma mark - Overriden UIViewController methods - (BOOL)hidesBottomBarWhenPushed { return YES; }
编辑:这个值也可以从Storyboard中设置:
我不认为有一个简单的方法来解决这个问题,因为UITabbarViewController
可能是你的超级视图和所有“内部”视图“height = screenHeight - tabBarHeight - navBarHeight
。
也许你可以尝试手动调整你的内部视图控制器,但是我认为你可能在苹果的AppStore提交过程中遇到问题,因为我认为这违反了iOS的一般用户体验。
这就是你如何在Swift中重写( UIViewController
):
override var hidesBottomBarWhenPushed: Bool { get { return true } set { super.hidesBottomBarWhenPushed = newValue } }
我的UITabBarController
位于一个容器视图中。 检查“隐藏底部酒吧推”不适合我。 相反,我创build了标签栏控制器的子类,并以编程方式隐藏标签栏。
class FooTabBar: UITabBarController { override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() self.tabBar.isHidden = true } }