首页 > 解决方案 > 两个 NavigationBar 显示

问题描述

嗨,我是 Swift 的新手,正在尝试构建一个具有多个视图的应用程序..

我的第一个视图(初始视图)嵌入在导航控制器中。我的第二个视图嵌入在标签栏控制器中 我的第三个视图再次嵌入在导航控制器中。

问题是,在我的第三个视图中,我看到导航控制器,顶部的控制器将我带回第一视图,而下面的控制器将我带到第二视图。

这是一种不正确的做法吗?我想摆脱来自第一个视图的导航栏。

感谢期待。

PS:我最初没有尝试在第三个视图上使用导航栏..但问题是我也无法映射栏按钮项,因此也无法将第三个视图嵌入到单独的导航控制器中,虽然它在 Xcode 中显示完美..它在模拟器上显示 2 NavBar 在此处输入图像描述

标签: iosswiftuinavigationbar

解决方案


不是一个优雅的解决方案,但这仍然可以解决您的问题。在您的控制器上嵌入UITabBarController您添加Next Button的位置。在该控制器类上添加以下代码。

添加ViewWillappear显示导航栏和viewDidDisappear隐藏导航栏,如下面的代码所示

打开viewWillAppear

override func viewWillAppear(_ animated: Bool) {
self.navigationController.navigationBar.isHidden = false
}

ON viewDidDisappear

override func viewDidDisappear(_ animated: Bool) {
   self.navigationController.navigationBar.isHidden = true
}

推荐阅读