返回嵌套的UIViewController:'太远了

时间:2014-03-10 18:50:29

标签: ios ios7 uiviewcontroller uistoryboard uistoryboardsegue

我认为我缺少一些基本的东西。我有一个故事板,看起来像:

enter image description here

简而言之,我有3个自己的控制器,分别嵌入UINavigationControllers

我将从左到右将这些(我自己的)控制器称为1,2和3。我给图片添加了注释,以显示我是如何勾结的。我通过将其公开指示器连接到包含#2的导航控制器,在控制器1和2之间创建了一个segue。我通过连接控制器并命名它来创建2到3之间的segue。我使用

以编程方式调用segue
[self performSegueWithIdentifier:@"OpenValvesSelector" sender:self];

对于控制器2和3,我将取消和保存导航项目与包含控制器的退出项目连接。

问题在于,当我打开3并选择Cancel Save项时,它不仅会关闭该视图,还会关闭2,将我返回到控制器1。不想那样。我正在尝试使用3来编辑2中的一些内容。如何才能将其返回到:2,而不是1?

从更广泛的角度来看,我并不完全相信我已经做了UINavigationController那样做了正确的事情。我尝试不使用包含3的UIViewController,但是没有地方可以编辑该场景的标题/按钮项目。我已经阅读了适用于iOS的View Controller编程指南上的Apple Docs,但这个详细程度似乎并不存在。

1 个答案:

答案 0 :(得分:2)

当你使用展开segue时,运行时决定退回“退回”多远的方式是在第一个实例中查看实现相应展开方法的 。因此,如果您在视图控制器3中并且想要展开以查看控制器2,则需要在视图控制器2中实现展开方法。

(别担心:您仍然可以从视图控制器2中放松以查看控制器1.)