首页 > 解决方案 > 使用 UINavigationController 执行 segue(没有 IBAction)

问题描述

向您展示图纸然后进行解释会更容易。

在此处输入图像描述

仪表板故事板

UIViewControllers在名为ContainerViewController.

发布故事板

NewPostViewController显示一个UIButton呈现TextPostViewController。如您所见,它们都嵌入在UINavigationControllers. 现在,一旦调用了新帖子的完成块,我必须展示它ContainerViewController并且它需要处理它自己的逻辑。问题是它是嵌入的UINavigationController,一旦我展示它,它就UITaBbar被隐藏了。

我试图这样做:

self.performSegue(withIdentifier: "TextPostToNavContainerVC", sender: nil)

过渡是成功的,但我失去了 UITabBar,即使在DashboardViewControllerContainerViewController我打电话的时候:

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    tabBarController?.tabBar.isHidden = false

}

我做错了什么还是有更好的方法来做到这一点?

标签: swiftuiviewcontrolleruinavigationcontrollerstoryboardsegue

解决方案


您应该实例化标签栏控制器。不是视图控制器。想象一下,您在标签栏控制器之前放置了一个初始视图控制器。使您的标签栏不被推送

如果我理解正确的话。您正在执行此 Segue 连接到视图控制器 但您实际上应该执行此Segue 连接到选项卡栏控制器


推荐阅读