【发布时间】:2019-04-02 04:21:46
【问题描述】:
我想从标签栏控制器的标签的根视图控制器中展示一个导航控制器,并让标签栏控制器中的标签可见。
标签栏控制器与ItemOneViewController有关系,实现如下:
import UIKit
class ItemOneViewController: UIViewController {
private func presentNavigationController() {
let id = "NavController"
guard let vc = storyboard?.instantiateViewController(withIdentifier: id) else { return }
present(vc, animated: true)
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
presentNavigationController()
}
}
我希望通过在选项卡栏控制器上从选项卡的根视图控制器显示导航控制器,导航控制器将显示在选项卡后面,但是当我运行所描述的应用程序时,这就是模拟器的样子:
这是视图层次结构的样子:
我想我记得以前的一位同事提到 UINavigationController 将替换视图堆栈,这是有道理的,但无论如何要保留它或带上 UITabBarController 吗?
我尝试过调整演示风格和上下文,但没有任何运气。
【问题讨论】:
-
为什么不将 NavController 分配给 UITabBarController 根视图控制器?
-
@NikunjKumbhani 因为要求是作为标签栏根控制器的视图控制器不是导航控制器。
-
请检查我的答案,您需要将 ItemOneViewController 与导航控制器一起嵌入,以便您可以将其与 UITabBarItem 以及 UINavigationController 一起使用b>
标签: ios swift uinavigationcontroller uitabbarcontroller