我有一个带有 4 个导航控制器的选项卡栏,每个导航控制器都包含一个视图控制器。 当我在这个视图控制器上时,我在它上面呈现另一个视图控制器:
let vc = PersonalInfosVC()
self.navigationController?.pushViewController(vc, animated: true)
这有效。但是当我这样做时,
PersonalInfosVC()
仍然在选项卡栏的“后面”,我仍然可以看到它。我想将新的视图控制器推到选项卡栏上,当我用 navigationController?.popViewController(animated: true)
关闭它时,我回到第一个视图控制器,但使用选项卡栏。
我可以使用
tabBarController?.tabBar.isHidden = true
,但它真的很难看。有办法这样做吗?谢谢
你只有两个选择,其中之一你已经做了。
当您按下新的视图控制器时,动画显示选项卡栏的隐藏。当您弹出视图控制器时,以动画方式显示选项卡栏。
UIView.animate(withDuration: 0.3) {
tabBarController?.tabBar.isHidden = true
}
呈现新的视图控制器而不是推送它。关闭它而不是弹出它。
let vc = PersonalInfosVC()
let nc = UINavigationController(rootViewController: vc)
self.present(nc, animated: true)
您可能需要添加一个按钮来关闭所显示的控制器。