【问题标题】:Rotation of NIBsNIB 的轮换
【发布时间】:2011-03-17 01:34:09
【问题描述】:

我已经研究了几天,似乎无法弄清楚。

我的应用以横向方式启动,并且仅支持横向方向。工作正常。

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

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

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

一旦我转换到我的第二个视图控制器(我的大部分应用程序内容都在其中),所有动画都可以正常工作。

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

【问题讨论】:

  • 你实现了 -shouldAutorotateToInterfaceOrientation: 正确吗?

标签: iphone cocoa-touch uiviewcontroller


【解决方案1】:

就像 jmont 所说,这可能是 -shouldAutoRotateToInterfaceOrientation 问题。也可能是您需要在 info.plist 中指定“InitialInterfaceOrientation”,其值为“Landscape(左主页按钮)”或“Landscape(右主页按钮)”。最后一种可能是直接设置界面方向。

【讨论】:

  • 我的实现(从添加了所有子视图的根视图控制器,在启动时将 rvc 添加到我的应用程序委托)在我的 App-Info.plist 中,我有初始界面方向 = Landscape(离开家按钮)。当它出现在屏幕上时,一切看起来都很好,但我的动画来自不同的角落...... -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation { if ((orientation == UIInterfaceOrientationLandscapeRight) || (orientation == UIInterfaceOrientationLandscapeLeft))返回否; }
猜你喜欢
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-11
  • 1970-01-01
  • 2013-05-09
  • 2012-04-21
  • 2019-06-13
相关资源
最近更新 更多