1

我需要我的 iphone 应用程序的所有视图都处于纵向模式,除了一个。

我有一个列表视图控制器(视图 1),单击时显示详细视图(视图 2)。
在详细视图上,我有一个按钮,它触发了一个模式 segue,它应该在横向模式下显示一个视图(视图 3)。

在 XCode 中,我已将视图 1 和 2 的方向设置为纵向,我已将视图 3 设置为横向。

启动应用程序时,视图 1 以纵向模式显示,但是当我更改方向时,它切换到横向,我需要它保持纵向。

当我单击视图 2 的按钮时,视图 3 以纵向模式显示(这是我唯一需要的横向模式)。

视图 1 和 2 具有:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
  // Return YES for supported orientations
  return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

视图 3 具有:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
  // Return YES for supported orientations
  return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}

视图 1 和视图 2 始终为纵向,视图 3 始终为横向缺少什么配置?

编辑

我最终将应用程序方向保留为纵向,并使用通知事件来旋转我需要的横向视图。像这样工作得很好。

4

2 回答 2

1

如果您在 iOS 6 下运行,shouldAutorotateToInterfaceOrientation则已弃用。你应该使用supportedInterfaceOrientationsForWindow:shouldAutorotate方法。

在 UIKit 标题下查看 iOS 6 发行说明

于 2013-05-28T22:12:31.253 回答
0

你想为 iOS6 而supportedInterfaceOrientations不是.UIViewControllershouldAutorotateToInterfaceOrientation

于 2013-05-29T08:27:05.547 回答