【问题标题】:iOS 8 - App not rotating appropriatelyiOS 8 - 应用程序未正确旋转
【发布时间】:2014-10-24 17:52:13
【问题描述】:

我有一个最初为 iOS 7.1 开发的应用程序,我现在正在通过 Xcode 6.1 在 iPad 上进行测试。在运行 7.1 的 iPad 或 7.1 模拟器上运行时,应用程序按预期运行。在 8.1 iPad 或 8.1 模拟器上,似乎没有正确处理旋转。我看到顶部的状态栏在旋转,但应用程序本身并没有改变。我知道这与 iOS 8 中不推荐使用的轮换方法有关。我的问题是......现在是什么???

我还没有找到任何文档来提供关于如何使用新的 iOS 8 机制处理旋转的简明答案。有什么方法可以优雅地处理 iOS 8 中的旋转,就像我在 iOS 7 中处理它们一样?我什至没有看到旧的轮换方法被调用,所以看起来这不仅仅是典型的“弃用”。似乎他们完全消除了对这些方法的调用。

有什么帮助或建议吗?

【问题讨论】:

  • 我注意到仅设置了 PList 支持的方向列表中的“第一个”,然后没有任何变化。我重新排列它们以确保它。

标签: ios rotation ios8


【解决方案1】:

你在使用故事板吗?如果是这样,您的 application didFinishLaunchingWithOptions 方法中可能有旧代码。

尝试删除以下代码行以及与UIWindow 相关的任何其他代码:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

其他人说要从您的 plist 文件中删除行,但这不是必需的。

【讨论】:

  • 我没有那一行,但我确实有一行在我的窗口上设置了 rootViewController。必要,因为故事板需要加载。
  • 谢谢,这绝对是我遇到的问题。删除该行解决了问题。
  • 感谢 ChrisJP,您为我节省了大量时间。
  • 哇。这让我抓狂。非常感谢您的解决方案!
  • 哇。多么容易被忽视的事情。谢谢 ChrisJP。
【解决方案2】:

我遇到了类似的问题,我通过从应用的信息属性列表中删除 UIMainStoryboardFile 和 UIMainStoryboardFile~ipad 键来修复它

看看这个讨论 https://devforums.apple.com/message/1064397#1064397

【讨论】:

  • 哇,这拯救了我的一天(以及无数小时的无知)!编写了一个没有情节提要的应用程序,所有视图控制器都是以编程方式创建的。适用于所有手机和 ipad,仅适用于 iPad3 (iOS8.2),屏幕不旋转。删除单行解决了这个问题。非常感谢,伙计!
【解决方案3】:

像这样使用viewWillTransitionToSize:withTransitionCoordinator:

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
    [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];

    // Will rotate

    [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {
        // Will animate rotation
    } completion:^(id<UIViewControllerTransitionCoordinatorContext> context) {
        // Did rotate
    }];
}

您应该观看 WWDC 2014 视频“iOS 8 中的视图控制器改进”,其中讨论了这一点。

【讨论】:

  • 我尝试将它添加到我的视图控制器中,但没有看到它被调用。我还需要做些什么来启用它吗?
  • @Shadowman 你在用故事板吗? Fabrice 的回答似乎描述了在 iOS 8.1 中使用故事板的应用程序的轮换问题。我没有遇到这个问题可能是因为我没有使用故事板。
  • 是的,我正在使用情节提要。我会调查他的回答。
  • 是的,我也在用故事板,遇到这个问题,谁能帮忙。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-21
  • 1970-01-01
  • 2018-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多