回到UINavigationController时如何隐藏UITabBar

时间:2019-03-21 12:31:51

标签: ios swift uinavigationcontroller uitabbarcontroller

我有三个viewControllers:

  • FeedController(可见UITabBar
  • PostController(UITabBar被隐藏)
  • UserController(UITabBar可见

我使用以下代码(从FeedController到PostController)执行此操作:

let postVC = PostController()
postVC.hidesBottomBarWhenPushed = true
pushViewController(postVC, animated: true)
postVC.hidesBottomBarWhenPushed = false

然后,从PostVC到UserVC:

let userVC = UserController()
userVC.hidesBottomBarWhenPushed = false
pushViewController(userVC, animated: true)

效果很好。它会显示UITabBar的所有位置,但导航到帖子时除外。但是,当我从帖子中转到用户配置文件(UserController)时,会出现问题。它按预期显示了配置文件上的UITabBar,但是当我向后导航(使用我的UINavigationController中的“后退”按钮)时,UITabBar仍然可见。当我从userVC返回到postVC时,我希望它再次被隐藏。

有什么办法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

尝试在您的帖子viewController中:

  override func viewWillDisappear(_ animated: Bool) {
   postVC.hidesBottomBarWhenPushed = true
}

在视图即将消失时会调用它,但在视图出现时不会调用它,因此当您返回时应将其隐藏。