Ios 如果segue从另一个选项卡进入,如何从控制器中删除TabBar?
我使用的是一个包含5个选项卡的选项卡栏控制器。在tab1中,我有一个按钮,它将我带到tab2。该选项卡2嵌入在导航控制器中 那么,当我从tab1 by segue开始时,如何使选项卡栏隐藏在tab2中呢 在故事板中,我有一个“推送时隐藏底部栏”处于活动状态。此外,我还编写了Ios 如果segue从另一个选项卡进入,如何从控制器中删除TabBar?,ios,swift,uiviewcontroller,uinavigationcontroller,uitabbarcontroller,Ios,Swift,Uiviewcontroller,Uinavigationcontroller,Uitabbarcontroller,我使用的是一个包含5个选项卡的选项卡栏控制器。在tab1中,我有一个按钮,它将我带到tab2。该选项卡2嵌入在导航控制器中 那么,当我从tab1 by segue开始时,如何使选项卡栏隐藏在tab2中呢 在故事板中,我有一个“推送时隐藏底部栏”处于活动状态。此外,我还编写了self.tabBarController?.tabBar.ishiden=true以查看tab2的加载情况。 在表1中,我的准备表是这样的 override func prepare(for segue: UIStory
self.tabBarController?.tabBar.ishiden=true
以查看tab2的加载情况。
在表1中,我的准备表是这样的
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "ShortcutSegue" {
let tabVc = segue.destination as! UITabBarController
tabVc.selectedIndex = 1
tabVc.tabBarController?.tabBar.isHidden = true
}
}
对于tab2视图控制器,您可以编写下面的代码来隐藏选项卡栏
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let destinationTabBar = segue.destinationViewController as? UITabBarController {
if segue.identifier == "ShortcutSegue" {
destinationTabBar.viewControllers?.removeAtIndex(adminScreenIndex)
}
}
}
或者,您可以在override func prepareForSegue方法中编写以下代码
if let tabVc = segue.destinationViewController as? tab2ViewController {
tabVc.hidesBottomBarWhenPushed = true
}
或者,您可以在下图所示的选项卡栏视图控制器的属性检查器的主故事板中勾选“按下时隐藏按钮栏”
它不起作用。第一个解决方案不能放在tab2控制器中,因为tab2是我的目标VC。第二种解决方案没有效果。在提出问题之前,第三个解决方案已经完成。