0

我正在尝试使用情节提要在两个视图控制器之间切换。我通过从第一个视图控制器到第二个,然后从第二个到第一个的控制拖动(在按钮上)来创建模态海格。

因此,每当我单击第一个 VC 中的按钮时,它都会将我带到第二个 VC。这次当我单击第二个 VC 上的按钮时,它是带我回到第一个 VC 的原始实例还是创建一个新实例?

如果它把我带到同一个实例,并且用户在某些文本字段中写入了一些数据,那么无论如何要在屏幕上保留它吗?(我可能想将它们保存在一些变量中,并且由于程序将返回到同一个实例,我将能够取回变量)

如果它没有把我带到同一个实例,有什么方法可以这样做吗?

我尝试制作第二个 VC 的实例并使用 self.navigarionController push...(instance) 但这不会切换控制器。

如果我使用情节提要执行此推送,并且我确实弹出了我的第二个 VC,它也不会弹出。

(而且我也无法理解推送、模式和自定义海格之间的区别)

4

1 回答 1

3

创建从 VC1 的按钮到 VC2 的模态序列,但不是相反的。当 VC2 的按钮被点击时,呼叫dismissViewControllerAnimated:completion:返回到你原来的位置。

如果您改用 push segue,您会调用popViewControllerAnimated:返回,但只有当您的视图控制器由UINavigationController.

您可以将推送视为一种逐步浏览一系列相关场景的方式,而模态则有点超出应用程序的正常流程。(这不是一个严格的规则,但它是决定走哪条路的起点。)对于“自定义”,您编写 segue 代码,因此您决定发生什么。

于 2012-08-13T12:47:05.577 回答