0

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

1)从一种视图更改为另一种视图的最佳方法是使用模态segue?它是否正确?

其次,我想知道我的故事板中的 segues 是如何“翻译”成代码的?我有 2 种类型的 segues:模态和推送。

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

真的没有更多的事情发生吗?

4

1 回答 1

0

关于您的第一个问题,一如既往的答案是:这取决于您的需求。如果您主要对“丢弃”以前的视图控制器感兴趣,那么是的,模式转场是要走的路,如果您想让用户浏览您的视图控制器,那么带有推送转场的导航控制器可能会更好方式,甚至是选项卡视图控制器。但同样,这真的取决于您的需求。

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

于 2013-05-23T10:58:10.857 回答