Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS TabbarViewController隐藏选项卡栏_Ios_Uitabbarcontroller_Tabbar - Fatal编程技术网

iOS TabbarViewController隐藏选项卡栏

iOS TabbarViewController隐藏选项卡栏,ios,uitabbarcontroller,tabbar,Ios,Uitabbarcontroller,Tabbar,我有一个viewcontroller,它实现了UITabbarViewController,我想隐藏它 选项卡栏,并自己覆盖它 self.tabBar.hidden = YES; 选项卡栏消失了,但视图底部有一个空白区域(蓝色区域)。 我不想要空白区域,我怎么解决这个问题?多谢各位 编辑:蓝色区域为: self.view.backgroundColor = [UIColor blueColor]; 我不认为有一个简单的方法来解决这个问题,因为UITabbarViewController可能是

我有一个viewcontroller,它实现了UITabbarViewController,我想隐藏它 选项卡栏,并自己覆盖它

self.tabBar.hidden = YES;
选项卡栏消失了,但视图底部有一个空白区域(蓝色区域)。 我不想要空白区域,我怎么解决这个问题?多谢各位

编辑:蓝色区域为:

self.view.backgroundColor = [UIColor blueColor];

我不认为有一个简单的方法来解决这个问题,因为
UITabbarViewController
可能是您的超级视图和所有“内部”视图的高度=
screenHeight-tabBarHeight-navBarHeight


也许您可以尝试手动调整内部视图控制器的大小,但我认为您可能会在Apple的AppStore提交过程中遇到问题,因为我认为这违反了一般的iOS用户体验。

我们在应用程序中也做了同样的事。要隐藏默认的选项卡栏,只需在父视图控制器(或应用程序中的每个视图控制器)中覆盖
hidesbottombarwhenpush
方法

编辑:此值也可以从情节提要中设置:


以下是您在Swift中执行覆盖(
UIViewController
)的方法:

override var hidesBottomBarWhenPushed: Bool {
    get { return true }
    set { super.hidesBottomBarWhenPushed = newValue }
}

My
UITabBarController
位于容器视图中。检查“按下时隐藏底部栏”对我不起作用。相反,我创建了选项卡栏控制器的子类,并以编程方式隐藏了选项卡栏

class FooTabBar: UITabBarController {
  override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    self.tabBar.isHidden = true
  }
}

如果可以的话,请选择在故事板中设置它。我在viewcontroller中执行了此操作,但当按下后退按钮时,选项卡栏仍然隐藏。我试着做了反向编码,但没有成功。我试过了,没有成功。无论是代码版本还是情节提要版本。我为我的应用程序中的每个视图控制器都设置了它(因为它不是100%清楚我应该将它添加到哪个视图控制器)。零效应。我的选项卡栏控制器嵌入在一个容器中,该容器位于一个视图控制器中,该视图控制器本身嵌入在另一个视图控制器的容器中。这种嵌套可能是问题的根源。“我的应用程序中只有一个选项卡栏控制器。@BillPatterson这只适用于嵌入
UINavigationController
中的视图控制器。您将拥有
UITabViewController
->
UINavigationController
->“MyViewController”。您可以在MyViewController中将按下时的
hidesbottomBar设置为
YES
class FooTabBar: UITabBarController {
  override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    self.tabBar.isHidden = true
  }
}