ios - 两个 NavigationBar 显示
问题描述
嗨,我是 Swift 的新手,正在尝试构建一个具有多个视图的应用程序..
我的第一个视图(初始视图)嵌入在导航控制器中。我的第二个视图嵌入在标签栏控制器中 我的第三个视图再次嵌入在导航控制器中。
问题是,在我的第三个视图中,我看到导航控制器,顶部的控制器将我带回第一视图,而下面的控制器将我带到第二视图。
这是一种不正确的做法吗?我想摆脱来自第一个视图的导航栏。
感谢期待。
PS:我最初没有尝试在第三个视图上使用导航栏..但问题是我也无法映射栏按钮项,因此也无法将第三个视图嵌入到单独的导航控制器中,虽然它在 Xcode 中显示完美..它在模拟器上显示 2 NavBar
解决方案
不是一个优雅的解决方案,但这仍然可以解决您的问题。在您的控制器上嵌入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
}
推荐阅读
- java - 如何使用 setter 和 getter 函数实现线程安全类,其中使用 setter 的频率远高于 getter
- python - 想要基于生成绘图的函数创建动画
- asp.net - 如何运行 ASP.Net Core 可执行文件?
- assembly - 你能在一个汇编操作中检查一个字节上的标志,并检索剩余的 7 位整数值吗?
- java - 在下一个/拆分或新行中显示消息
- firebase - 是否有 Google API 回答有关 Firestore 数据库的 Metrics 或 Health Checks 或 Current Active Connectios 或 Exceptions 或 Performance
- r - 有没有办法解决这个var中的错误问题?
- javascript - 在 Firebase 中使用 async/await 时,我是否必须使用 .then
- sql-server - 为什么 Access 不断恢复到旧版本的链接 SQL Server 表?
- mongodb - 从旧的 mongo 恢复转储