【问题标题】:shouldAutorotateToInterfaceOrientation not working [duplicate]shouldAutorotateToInterfaceOrientation 不起作用[重复]
【发布时间】:2012-11-14 07:56:27
【问题描述】:

可能重复:
Problem pushViewController from Landscape to Portrait

在我的应用中,有些视图控制器支持横向和纵向,而有些只支持纵向。

我有 3 个视图控制器 FirstVCSecondVCThirdVC。我要:

  • FirstVCThirdVC 支持横向和纵向
  • SecondVC 应该只支持纵向。

为此我:

  • 在所有视图控制器中覆盖shouldAutorotateToInterfaceOrientation
  • SecondVC中返回UIInterfaceOrientationIsPortrait(interfaceOrientation);
  • 在其他两个中返回 YES。

当我从 FirstVC (在横向模式下)推动 SecondVC 时,我的 SecondView 没有切换到纵向,它仍然是横向的。但是当我将 SecondVC 旋转为纵向时,它会相应地旋转,当我旋转时,它会再次旋转,这次它仍然是纵向的,不会变成横向的。

我希望我很清楚。

请问谁能知道我哪里做错了?提前致谢!

【问题讨论】:

标签: iphone orientation


【解决方案1】:

看看这个帖子Problem pushViewController from Landscape to Portrait

您必须以模态方式展示 VC。

【讨论】:

  • 我还有一个查询。是否有可能,在一个视图控制器中,一个视图支持方向而有些不支持。我的意思是假设我有一个 MainViewController 包含两个 UIView,比如 FirstView 和 SecondView。时间只有一个视图可见。假设第一个视图支持两个方向,而第二个视图只支持纵向。当我在设备方向为横向时启动第二个视图时,它应该以纵向而不是横向模式启动。但我的问题是它在风景。
  • AFAIK shouldAutorotate 方法仅在设备旋转或显示视图控制器时调用。如果从同一个 ViewController 更改可见视图,则不会调用该方法。我建议你管理来自两个不同视图控制器的两个视图
猜你喜欢
  • 2011-02-21
  • 2012-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-20
相关资源
最近更新 更多