当用户导航到另一个屏幕时,如何删除标签栏?

时间:2016-06-07 07:37:59

标签: ios swift uitabbar

我的目标只是在用户导航到特定屏幕时删除我的应用程序标签栏,以便我有更多可用空间。

目前,我的故事板看起来像这样:

enter image description here

每当用户点击一个按钮时,他们将被带到另一个屏幕,这是序列中的最后一个屏幕。我的目标是简单地删除标签栏,但保留导航。

如果我使用show detail segue,那么它会删除标签栏以及导航,这是我不想要的。

这是最终屏幕(但它仍然有标签栏):

enter image description here

4 个答案:

答案 0 :(得分:3)

您甚至可以在hidesBottomBarWhenPushed上将属性true设置为DestinationViewController。您可以在prepareForSegue方法覆盖中执行此操作。

if let vc = segue.destinationViewController as? YOURVIEWCONTROLLER {

    vc.hidesBottomBarWhenPushed = true
}

这样,如果ViewController在其他情况下需要底栏,它将会显示

答案 1 :(得分:2)

您只需要在视图控制器上设置hidesBottomBarWhenPushed = true即可隐藏它。插入viewDidLoad()

您也可以在子视图控制器的故事板中设置它

enter image description here

答案 2 :(得分:0)

隐藏在viewWillDisappear

self.tabBarController.tabBar.hidden = YES;

答案 3 :(得分:0)

你可以写下面的prepareforsegue

 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender    {

segue.destinationViewController.hidesBottomBarWhenPushed = YES;

// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}

<强>夫特:

   override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    segue.destinationViewController.hidesBottomBarWhenPushed = true

}

因此,在目的地视图中,控制器标签栏将不会显示。

根据您的问题,您可以在FirstTableViewcontroller中实施,并且TaretViewController中不会显示标签栏。

希望这会有所帮助:)