如何以编程方式显示带有导航栏的ViewController?

执行

以这种方式显示ViewController时,即使ViewController嵌入在界面生成器中的导航控制器中,我也没有导航栏。

        if let stockVC = storyboard?.instantiateViewController(withIdentifier: "Stock") as? StockTableViewController {
        stockVC.stockToDisplay = commonData.stock.filter { $0.productID.contains(product) }
        // No NavigationBar with this one
        navigationController?.present(stockVC, animated: true)
        // No NavigationBar with this one
        self.present(stockVC, animated: true)
    }

我知道navigationBar可以正常工作,因为如果我将ViewController设置为情节提要中的初始值,它将显示出来。

我在这里做错了什么?

海耶斯克

当您提供视图控制器时,它不属于当前导航堆栈。您需要使用stockVC创建一个新的导航控制器,并显示新的导航控制器:

if let stockVC = storyboard?.instantiateViewController(withIdentifier: "Stock") as? StockTableViewController {
    stockVC.stockToDisplay = commonData.stock.filter { $0.productID.contains(product) }
    let stockNavigationController = UINavigationController(rootViewController: stockVC)
    self.present(stockNavigationController, animated: true)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何以编程方式显示ViewController?

如何以编程方式添加实际适合屏幕的导航栏?

如何以编程方式在导航栏下方添加视图?

如何以正确的方式实现带有导航控制器的标签栏控制器

如何以编程方式显示/隐藏导航抽屉

如何以编程方式将搜索栏放置在导航栏中?-迅捷

Swift:如何以编程方式关闭ViewController?

如何以编程方式制作带有控件的面板的克隆?

如何以编程方式从 URL 提交带有文件的表单

如何以编程方式更改系统导航?

如何以编程方式创建导航抽屉?

如何以编程方式获取Android导航栏的高度和宽度?

如何以抖动方式通过编程获取Android导航栏的高度和宽度?

如何以编程方式显示路线?

如何以编程方式显示/隐藏BottomAppBar?

如何强制显示移动Safari底部导航栏以编程方式显示?

如何以编程方式更改此元素在ViewController上的位置?

如何以水平方式而非垂直方式显示引导导航栏的下拉菜单项?

如何以编程方式更改底部导航视图的图标?

如何以编程方式更改导航图的起始目标[Jetpack]

如何以编程方式从SwiftUI导航堆栈弹出UIViewControllerRepresentable

如何以编程方式隐藏导航抽屉菜单项?

如何以编程方式获取iOS状态栏的高度

如何以编程方式获取标签栏的高度?

如何以编程方式获取工具栏背景颜色?

如何以编程方式从底部栏隐藏项目

如何以编程方式快速修复搜索栏

如何以编程方式实现带有复选框和滚动条的动态GUI?

如何以编程方式触发带有按钮的可排序小部件的更新回调?