我完成了iOS应用程序,但我只需要将一个视图设置为横向模式,其余视图只能在纵向模式下看到.

我使用的是Xcode 5.1,我通过右面板中的情节提要视图控制器创建了我的所有视图,所以如果你想告诉我在什么地方写一些代码,请确切地告诉我需要在哪里写.

我在这里读了一个解决方案,但我不知道该在哪里编写代码.我需要手动创建一个UIViewController吗?

推荐答案

我想你的目标是iOS 7(使用XCode 5.1,我想我是对的).

首先,你必须明白,为了在40多个横向视图中只打开一个视图,你的应用程序应该允许横向和纵向界面方向.

在此处输入图像描述

然后,由于您允许整个应用程序同时使用横向和纵向,因此您必须只告诉每个纵向UIViewController,它不应自动旋转,并添加此方法的实现:

- (BOOL)shouldAutorotate {
  return NO;
}

最后,对于特定的仅横向控制器,由于您说您是以模态方式呈现它,所以您可以实现以下方法:

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
  return UIInterfaceOrientationLandscapeLeft; // or Right of course
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
  return UIInterfaceOrientationMaskLandscape;
}

希望这能有所帮助,

Objective-c相关问答推荐

Objective-C 静态、外部、公共变量

如何使用格式化占位符本地化字符串?

使用 arc4random() 时如何 Select 值的范围

在 UILabel.attributedText *not* 蓝色和 *not* 下划线

在objective-c / cocoa-touch中是否有一个方便的功能来找到最小的数字?

iOS 正确使用 @weakify(self) 和 @strongify(self)

仅替换 NSString 中子字符串的第一个实例

在 iOS 7 中检测后台应用刷新的用户设置

检测代码是否在 Objective-C 的主线程上运行的正确方法是什么? (iOS)

Apple 的 API 中的k前缀表示什么?

Swift 3 - dynamic vs @objc

如果目录不存在,是否有更安全的方法来创建目录?

如何在 Objective-C (iOS) 中判断 NaN 值

计算 UILabel 文本大小

UITableViewCell 点击展开

ARC时代的财产与ivar

使用 respondsToSelector 时 suppress '...' is deprecated

分组的 UITableView 在底部有 20px 的额外填充

使用正则表达式查找/替换 NSString 中的子字符串

按字典中键的值对字典的 NSArray 进行排序