在我的故事板中我有2个VC:VC1是登录页面,用户登录后VC2是我的应用程序的主页。
1)从一个视图转换到另一个视图的最佳方法是使用模态segue?这是对的吗?
其次,我想知道我的故事板中的segues是如何“翻译”成代码的? 我有两种类型的segues:modal和push。
我一直在我的代码中使用performSegueWithIdentifier
方法,但现在我想知道这个方法背后会发生什么。
模态segue是否转换为[self presentModalViewController:newVC]
方法?
push segue是否翻译成[self.navigationController pushViewController:newVC]
?
真的没有发生什么事吗?
答案 0 :(得分:0)
关于你的第一个问题,答案一直是:它取决于你的需求。 如果你主要感兴趣的是“丢弃”以前的视图控制器,那么是的,模式segue是要走的路,如果你想让用户浏览你的视图控制器,那么带推推的导航控制器可能更好方式,甚至是标签视图控制器。但同样,这实际上取决于您的需求。
关于你的第二个问题,请看一下guide。
segue是类UIStoryboardSegue的一个实例,它保留对源视图控制器和目标视图控制器的引用。在实际执行segue(实际执行转换的方法perform
)之前,会调用源视图控制器的prepareForSegue(这使您有机会在转换发生之前进行一些额外的设置),然后实际转换通过方法perform
进行,其中显示了一些动画,并根据segue的类型调用了presentViewController:animated:completion:
或pushViewController:
(您可以通过覆盖它来创建自定义segue初始化方法和此perform
方法)。