2012-08-01 170 views
0

这甚至可能吗?我有3个UIViewControllers:主屏幕(A),用户点击按钮进入(B)的屏幕以及登录屏幕(C)。如果用户没有登录,它将从A - > C,并且当他们登录时它应该从C - > B,但是我需要在C下方并且在C被解除之前呈现B.在当前视图控制器下加载视图控制器

回答

0

您可以在没有动画的情况下以模态方式呈现视图控制器。

[self presentViewController:viewControllerC animated:NO completion:nil]; 

为此,您可以在didFinishLaunchingWithOptions:这意味着你的登录视图控制器会出现启动之后。然后当用户成功登录,您只需拨打

[self dismissModalViewControllerAnimated:YES]; 

的C视图控制器(或哪一个是登录一个),并将其向下滑动,露出主应用程序。这是一个很酷的效果。您也可以选择更改视图控制器的过渡方式有它周围的水平翻转,露出了登录后的应用程序等

viewControllerC.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
0

如果您呼叫的按钮,登录屏幕对主的UIViews你可以做屏幕[self.view sendSubViewToBack:subview];

+0

是否有类似这样的可以从自己(UIViewController)而不是UIView访问? – Chris 2012-08-01 14:24:19

+0

不,因为你在屏幕上看到的是ViewController的UIView,VC本身是MVC开发环境中View和Controller的组合。所以我做的是有一个主要的VC,然后将其他VC加入到/根据需要进行管理,并管理来自第一个VC的VC.views。 – PruitIgoe 2012-08-01 19:24:18

0

您可以在A模式视图中呈现C,然后解除C之前的推送B. 这就是如果您想使用C模式演示(这对我来说似乎更好)。

即使不是这种情况,您仍然可以在C出现之后或刚刚开始消失之前更改navigationController的viewControllers。

相关问题