使用performSegue显示navigationController

时间:2017-08-17 13:02:53

标签: ios swift uinavigationcontroller uitabbarcontroller

我试图从tabbarController显示tableview。表格视图已经在导航控制器中,我使用segue显示标签栏但由于某些原因导航控制器标签在标签栏显示时消失。 这是一个执行segue的代码片段。

if cell.menuLbl.text! == NSLocalizedString("Our Brands", comment: "Our Brands") {

    UserDefaults.standard.set("somevalue", forKey: "somekey")
    UserDefaults.standard.set("somevalue", forKey: "somekey")

    performSegue(withIdentifier: "SegueName_", sender: self)

   //let mainStoryboard:UIStoryboard = UIStoryboard(name : "Main" , bundle : nil)
   //revealViewController.pushFrontViewController( <#UIViewController!#>, animated: true)

}

我使用Userdefaults存储一些数据用于其他目的。

感谢任何帮助。

PS。 iOS新手。

3 个答案:

答案 0 :(得分:0)

您的Storyboard设置不正确。将表视图控制器嵌入到导航控制器中,这样您从表视图控制器中分离的每个视图控制器也将嵌入到导航控制器中。

请参阅下图,了解如何从Storyboard

实现这一目标

enter image description here

答案 1 :(得分:0)

我记得在发展的早期阶段,禁止UITabbarController。我不知道它是否仍然是一个规则,但你可以肯定的是以模态方式呈现TBVC。

答案 2 :(得分:0)

你不应该做你想做的事。将UITabBarControllerUINavigationController一起使用时,导航控制器应始终包含在标签栏控制器中,而不是相反。

允许的配置是:

拆分视图控制器 - &gt;标签栏控制器 - &gt;导航控制器 - &gt;内容视图控制器。

你要做的就是与框架作斗争。

已编辑添加

如果确实想要这样做,请尝试在视图控制器的视图中添加UITabBar(不是UITabBarController,但您有编写自己的代码来管理处理水龙头和更改视图控制器。