首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我们如何在iOS 8中指定应用程序的方向?

我们如何在iOS 8中指定应用程序的方向?
EN

Stack Overflow用户
提问于 2014-06-28 12:22:08
回答 2查看 17.8K关注 0票数 17

在iOS 7中,我们说:

代码语言:javascript
复制
// ViewController1:

-(NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}

-(BOOL)shouldAutorotate {
    return YES;
}

// ViewController2, presented by modal segue from button in ViewController1

-(NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

-(BOOL)shouldAutorotate {
    return YES;
}

结果是,应用程序出现在视图控制器1的横向和视图控制器2的纵向中。

该代码在iOS 7中运行良好,包括Xcode6中的iOS 7模拟器。但它在iOS 8中不再有效。有两个问题:

  • 视图控制器1的视图显示在横向视图中,但模拟器没有自动旋转(可能只是模拟器错误),并且(这是真正重要的部分)视图不会自动调整大小,因此对于屏幕来说太窄(在其右侧有一个大的黑色区域)。
  • 视图控制器2的视图与视图控制器1的视图(横向视图,而不是纵向视图)的显示方向相同。

因此,视图控制器视图不会自动调整大小以填充整个屏幕,并且呈现的视图控制器支持的方向也不会被支持。

那么我们现在该怎么做呢?这与特征集合有关吗?使用首选的内容大小?手动设置状态栏方向?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-28 22:03:42

第一部分(进入横向)的答案在iOS 7中没有变化:一切都取决于Info.plist文件中可能的方向顺序。因此,假设View Controller 1是这样说的:

代码语言:javascript
复制
-(NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}

然后,如果横向在Info.plist的支持接口方向中首先出现,我们将一致地启动到横向:

代码语言:javascript
复制
<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
    <string>UIInterfaceOrientationPortrait</string>
</array>

iOS 8中一个值得注意的变化是,默认情况下,当我们处于横向状态时,状态栏是隐藏的。但是,如果需要,您可以使用适当的覆盖来防止这种情况:

代码语言:javascript
复制
-(BOOL)prefersStatusBarHidden {
    return NO;
}

这并没有回答我问题的第二部分,即在呈现视图控制器时如何强制旋转。正如我在this answer中解释的那样,我的感觉是,这在iOS 8中将变得不可能。你的视图控制器和视图应该“适应”--你也是。

编辑:看起来像是在Seed4中,强制应用程序在视图控制器呈现/解除上旋转的能力又回来了!

票数 14
EN

Stack Overflow用户

发布于 2014-12-16 06:51:42

问题可能在您的*.plist文件中

选中后,您需要的是列出屏幕的默认/首次启动方向,如下所示

支持的接口方向:

项目0横向(右主页按钮)

项目1纵向(底部主页按钮)

这个"bug“我追逐了几天,直到我在Xcode的全局搜索中检查了工作UIInterface,注意到我列出了我的游戏不支持的方向(整个游戏是100%的地景权)

我摆脱了横向左方向,这是GameCenter启动的原因,如果我物理上将设备放在横向左方向,它会旋转到横向左方向。

问题解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24463543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档