横向应用 Xcode 5 / iOS 7

Posted

技术标签:

【中文标题】横向应用 Xcode 5 / iOS 7【英文标题】:Landscape Apps Xcode 5 / iOS 7 【发布时间】:2013-09-17 19:09:08 【问题描述】:

我在 App Store 中有一个钢琴应用。它在横向模式下工作。

现在 ios 7 似乎忽略了 IB 中的 Landscape 设置

该应用在 iOS 6 及更低版本中可以横向运行。在 iOS 7 中以纵向显示。以下是设置和相关代码:

//iOS 6+
- (BOOL)shouldAutorotate

    return YES;


//iOS 6+
- (NSUInteger)supportedInterfaceOrientations

    return (UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight);

//iOS 5.1.1-
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

        return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);

【问题讨论】:

您的应用程序的根 VC 是什么类型的 VC? @shawnwall UINavigationController 请注意,您在屏幕截图中指出的“模拟指标”控件只会影响视图在该界面生成器编辑器中的外观。 (这就是它说“模拟”的原因。)IB 编辑器只管理视图本身——在运行时,状态栏、方向和导航栏等内容在视图之外进行管理(通过视图控制器或应用程序委托)。由于您正在编辑的 xib 中不存在这些内容,因此“模拟指标”可让您按照预期在运行时显示的那样编辑视图。 【参考方案1】:

感谢@shawnwall 的评论,我意识到我没有根视图控制器。过去我的应用程序支持 yo iOS 3.1.3 O_O:

[self.window addSubview:self.viewController.view];

我很久以前就放弃了 3.1.3 支持,所以我可以设置一个根视图控制器:

self.window.rootViewController = self.viewController;

这就是导致视觉错误的原因。

【讨论】:

以上是关于横向应用 Xcode 5 / iOS 7的主要内容,如果未能解决你的问题,请参考以下文章

在 xcode 4.5 GM IOS 6 中将方向设置为横向模式

如何在 Xcode 4.5 中创建 IOS 5.1 应用程序

iOS 7 / Xcode 5:以编程方式访问设备启动图像

如何在 iOS 中支持横向和纵向视图?

IOS 设备方向卡在纵向模式,没有横向

当方向是横向xcode时如何使屏幕可滚动