【发布时间】:2017-04-15 12:45:49
【问题描述】:
一个视图控制器被推送,底部标签栏被隐藏,如下所示:
let myViewController = self.storyboard?.instantiateViewController(withIdentifier: MyViewController) as! MyViewController
myViewController.hidesBottomBarWhenPushed = true
navigationController?.pushViewController(myViewController, animated: true)
效果很好。
但是,当我在推送之前更改根视图控制器时,底部栏不会隐藏。
// Change the root view controller
let firstRootViewController = UIApplication.shared.keyWindow!.rootViewController
UIApplication.shared.keyWindow!.rootViewController = secondRootViewController
// Push view on stack of navigation controller which is a child of firstRootViewController
let myViewController = self.storyboard?.instantiateViewController(withIdentifier: MyViewController) as! MyViewController
myViewController.hidesBottomBarWhenPushed = true
navigationController?.pushViewController(myViewController, animated: true)
// Some more things happen...
// Switch back to previous root view controller
UIApplication.shared.keyWindow!.rootViewController = firstRootViewController
结果是导航控制器正确推送了myViewController,但底部栏可见,好像参数hidesBottomBarWhenPushed被忽略了一样。
这里有什么问题?
【问题讨论】:
标签: swift uinavigationcontroller pushviewcontroller