你能为setRootViewController设置动画吗?

时间:2012-03-12 17:33:51

标签: ios cocoa-touch ipad view

我正在使用SplitViewController,它不能作为导航控制器的一部分。我在IBAction上使用SetRootViewController,这很好,但它没有动画。理想情况下,我想使用与导航控制器相同的动画(从左/右滑入),但如果不可能,我想在需要时使用一致的动画。

2 个答案:

答案 0 :(得分:5)

我不确定这一点,但我建议如下。

UISplitViewController设为UIWindow的{​​{1}}。在rootViewController中,您使用按钮viewDidLoad作为模式进行presentModalViewController:animated:来电。确保您没有动画。这会让您觉得模态视图是您在应用启动时看到的第一个视图。 当您按下按钮时,可以使用UIViewController为按钮的UIViewController设置动画。现在您可以选择如何制作动画。您的选择之一是交叉解析。

答案 1 :(得分:2)

使用iOS 5.0,您将能够使用presentViewController:animated:completion从初始的rootViewController呈现SplitViewController。

在iOS 5.0之前,您唯一的机会是在rootViewController的视图中使用transitionFromView:toView:duration:options:completion方法,这意味着您需要手动将几条消息传递给SplitViewController。 iOS 5.0之前的版本不支持容器ViewControllers。

但您可能想重新考虑您的设计。 您应该首先将SplitViewController设置为rootViewController。在App启动时(或者您需要时),您应该以模态方式呈现LoginViewController。 当用户成功登录时,您可以使用要选择的任何动画隐藏模态视图。

由于SplitViewController是您的主ViewController,它应该是您应用程序的rootViewController。