我想仅在任何一个孩子上都显示在父控制器上。
我正在按下:
childViewController?.hidesBottomBarWhenPushed = true
self.navigationController?.pushViewController(childViewController!, animated: true)
现在,当我通过单击"向后"按钮导航时,在父母身上显示agin。
,但是如果我以这种编程方式进行相同的操作:
childViewController?.hidesBottomBarWhenPushed = true
self.navigationController?.popToRootViewController(animated: true)
//or
self.navigationController?.popViewController(animated: true)
然后,未在父级上再次显示Tab栏。
我已经尝试了许多解决方案;
解决方案1:用儿童编写此代码
- (void)viewWillAppear:(BOOL)animated {
self.hidesBottomBarWhenPushed = true
}
- (void)viewWillDisappear:(BOOL)animated {
self.hidesBottomBarWhenPushed = false
}
解决方案2:在推送上编写此代码
childViewController?.hidesBottomBarWhenPushed = true
self.navigationController?.pushViewController(childViewController!, animated: true)
childViewController?.hidesBottomBarWhenPushed = false
它都没有起作用。如果我使用导航栏返回按钮返回,一切正常。但是,如果我 popViewController
或 popToRootViewController
,则它不起作用。
使用:Xcode 8.3.2,Swift 3
请帮助我。预先感谢您。
在要隐藏的控制器中使用这种方式:
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
self.hidesBottomBarWhenPushed = true
}