2010-07-16 36 views
1

我一直在挖这几天,似乎无法弄清楚。NIBs的旋转

我的应用程序在横向上启动,并且只支持横向方向。工作正常。

我的应用程序委托实例化一个根视图控制器,视图是从XIB构建的,并用viewDidLoad中的图像填充。底层图像是横向大小(1024x768)。在屏幕上看起来很好。

一旦应用程序启动,我等待用户交互,然后呈现一个新的视图控制器以及来自新的XIB的新视图。第二个vc/XIB也是横向的(如界面生成器中指定的)。出于实用目的,我的第一个和第二个XIB几乎相同 - 两个横向视图都包含一个占用整个屏幕的图像视图出口。

当我在根视图(基本上是一个启动画面/菜单)和我的第一个真实内容视图之间移动时,我使用的是现成的UIAnimationTransistion。我的问题是,无论我做什么,都会生成第一个动画转换,就好像视图处于纵向模式一样。如果我指定左侧翻转,它会从上到下翻转。如果我指定了一个右侧翻盖,它会从下到上翻转。如果我指定卷曲,它会水平卷曲。

一旦我转入我的第二个视图控制器(我的应用程序的大部分内容是),所有的动画都按照他们应该的方式工作。

如何获得加载的第一个视图(从我的rvc)正确定位,以便我的动画在第一个rvc和第二个内容vc之间一致移动?

+0

您是否实现了-shouldAutorotateToInterfaceOrientation:是否正确? – jmont 2010-07-16 17:50:29

回答

0

像jmont说的,它可能是一个-shouldAutoRotateToInterfaceOrientation问题。也可能是您需要在info.plist中指定'InitialInterfaceOrientation',其值为'横向(左主页按钮)'或'横向(右主页按钮)'。最后的可能性是直接设置界面方向。

+0

我的实现(从我的根视图控制器添加所有子视图,rvc添加到我的应用程序委托在发射) 在我的App-Info.plist中,我有 初始界面方向=风景(左主页按钮)。 一切看起来很好,当它出现在屏幕上,但我的动画在不同的角落起源...... - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)取向{ \t \t如果((方向== UIInterfaceOrientationLandscapeRight)|| \t \t(orientation == UIInterfaceOrientationLandscapeLeft)) \t \t return YES; \t \t return NO; } – isaac 2010-07-19 16:14:23