我认为我缺少一些基本的东西。我有一个故事板,看起来像:
简而言之,我有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,但这个详细程度似乎并不存在。
答案 0 :(得分:2)
当你使用展开segue时,运行时决定退回“退回”多远的方式是在第一个实例中查看实现相应展开方法的 。因此,如果您在视图控制器3中并且想要展开以查看控制器2,则需要在视图控制器2中实现展开方法。
(别担心:您仍然可以从视图控制器2中放松以查看控制器1.)