繁体   English   中英

从UITabBarController选项卡根视图中显示UINavigationController

[英]Present UINavigationController from UITabBarController tab root view

我想从标签栏控制器的选项卡的根视图控制器中显示导航控制器,并使标签栏控制器中的选项卡可见。

这是一个示例故事板的照片: 在此输入图像描述

标签栏控制器与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吗?

我试过调整演示风格和背景但没有运气。

尝试在导航控制器中嵌入ItemOneViewController,而不是在导航控制器中嵌入ViewController VC。

从故事板中选择ItemOneViewController

转到编辑器并使用导航控制器嵌入

在此输入图像描述

Storyboard中的视图层次结构如下所示:

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM