横向应用 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 中将方向设置为横向模式