视图之间的转换:segue和代码之间的转换

时间:2013-05-20 10:48:01

标签: views segue

在我的故事板中我有2个VC:VC1是登录页面,用户登录后VC2是我的应用程序的主页。

1)从一个视图转换到另一个视图的最佳方法是使用模态segue?这是对的吗?

其次,我想知道我的故事板中的segues是如何“翻译”成代码的? 我有两种类型的segues:modal和push。

我一直在我的代码中使用performSegueWithIdentifier方法,但现在我想知道这个方法背后会发生什么。 模态segue是否转换为[self presentModalViewController:newVC]方法? push segue是否翻译成[self.navigationController pushViewController:newVC]

真的没有发生什么事吗?

1 个答案:

答案 0 :(得分:0)

关于你的第一个问题,答案一直是:它取决于你的需求。 如果你主要感兴趣的是“丢弃”以前的视图控制器,那么是的,模式segue是要走的路,如果你想让用户浏览你的视图控制器,那么带推推的导航控制器可能更好方式,甚至是标签视图控制器。但同样,这实际上取决于您的需求。

关于你的第二个问题,请看一下guide。 segue是类UIStoryboardSegue的一个实例,它保留对源视图控制器和目标视图控制器的引用。在实际执行segue(实际执行转换的方法perform)之前,会调用源视图控制器的prepareForSegue(这使您有机会在转换发生之前进行一些额外的设置),然后实际转换通过方法perform进行,其中显示了一些动画,并根据segue的类型调用了presentViewController:animated:completion:pushViewController:(您可以通过覆盖它来创建自定义segue初始化方法和此perform方法)。