更改根控制器会导致视图旋转到正确的位置

时间:2013-01-29 13:20:40

标签: ios objective-c ipad user-interface

首先,我想说这个问题不能解决我的问题:Orientation problem when I set a RootViewController

我的ipad应用程序仅适用于横向模式。当我更改根控制器时,新的故事板正确显示。但是,它以纵向模式显示,然后旋转到正确的方向。如何在更改根控制器之前指定方向,或者告诉故事板默认以横向显示?在动画之后看到视图的旋转非常难看。

此外,左右横向在项目属性中设置。

以下是更改根视图控制器时的代码。

UIStoryboard *editorStoryboard = [UIStoryboard storyboardWithName:@"EditorStoryboard" bundle:nil];
UISplitViewController *editorViewController = [editorStoryboard instantiateInitialViewController];

UINavigationController *navigationController = [editorViewController.viewControllers lastObject];
editorViewController.delegate = (id)navigationController.topViewController;


AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

[UIView transitionWithView:appDelegate.window duration:0.5 options: UIViewAnimationOptionTransitionFlipFromLeft animations:^{
    appDelegate.window.rootViewController = editorViewController;
} completion:nil];

1 个答案:

答案 0 :(得分:0)

您是否尝试覆盖

preferredInterfaceOrientationForPresentation

用于新的根视图控制器?像这样:

-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscape
}

来自View Controller Programming Guide for iOS

编辑:好的,试着摆脱动画怎么样?