来自ViewController的两个segues和Navigation Controller中的ViewController

时间:2017-01-31 13:44:07

标签: ios swift uinavigationcontroller swift3 segue

我有一个嵌入在NavigationController中的ViewController(VC_1)。在VC_1中,TableView包含单元格,每个单元格都有一个segue到ViewController,并附有详细信息(VC_2)。

因此,当我触摸VC_1中的任何单元格时,我会通过导航栏和后退按钮获得VC_2。

如果我有一个不在NavigationController中的单独的ViewController VC_3怎么办?它还具有segue到VC_2的单元,其具有与VC_1的单元具有相同的标识符。 当我从VC_3进入VC_2时,我看不到带后退按钮的导航栏。处理它的方法有哪些?

enter image description here

4 个答案:

答案 0 :(得分:1)

您可以在(VC_3)

后面放置另一个library(pcalg) library(R.matlab) testfile = readMat("SingleMatrix.mat") testfile = as.matrix(testfile$SingleMatrix) library(igraph) Test=as.graphnel(graph.adjacency(testfile, weighted = T)) shd(Correct,Test)

希望这有用:)

答案 1 :(得分:0)

如果您使用Show(例如Push)显示VC_1中的VC_3,则导航栏必须出现在VC_3中。

  

如果我有一个不在里面的单独的ViewController VC_3怎么办?   NavigationController。

从这里我了解到你不想在VC_3上使用导航栏。因此,您可以隐藏VC3的viewWillAppear中的导航栏,并在viewWillDissappear中再次显示它,就像在这个答案中一样:

How to hide a navigation bar from first ViewController in Swift?

然后,如果您使用Show(例如Push)从VC_3到VC_2执行segue,您将在VC_2上进行导航而没有任何问题。

如果在此之后仍然无法正常工作,请使用dequeueReusableCell withIdentifier方法检查您是否在VC_3中创建了单元格。

答案 2 :(得分:0)

在故事板中添加新的导航控制器。现在,改变像这样的segues:

Vc_1 - >新的导航控制器 - > vc_3

如果tat没有意义,这就是我的意思,将当前从vc1转到vc3的segue更改为新的导航控制器,然后连接该导航控制器并使vc3成为其根视图控制器。

答案 3 :(得分:0)

尝试将其放入有问题的VC中:

 override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        self.navigationController?.setNavigationBarHidden(false, animated: false)
    }

确保segues正在使用推送。 :)