【发布时间】:2014-09-30 17:39:12
【问题描述】:
我有一个为 iOS8 编译的应用程序。该应用程序设置为仅在项目设置中允许纵向。应用程序的视图不会按设计旋转到横向。在 iOS7 中,当您将设备旋转为横向时,键盘不会旋转。这是我想要的行为。
但是,在 iOS8 中,当您将设备旋转为横向时,键盘会错误地切换到横向。
我已在物理 iPhone 6 Plus 上对此进行了测试以确认问题。还通过模拟器在 iPhone 5 上对其进行了测试。知道如何解决这个问题吗?
可能的修复
我不记得确切的原因,但我有一些引导代码在应用启动时执行:
d.window.rootViewController = tabBarController;
其中 tabBarController 是应用程序的顶级标签栏控制器。删除此引导代码可解决此问题。
建议调试
虽然这在以前的 iOS 版本中没有出现,但看起来 iOS8 的行为有点不同。我建议检查您拥有的任何引导代码。您可能必须尝试一个示例项目并添加一些位,直到找到罪魁祸首,因为在我的案例中很难追查到。下面提供的两个答案是解决症状而不是原因,所以我没有将它们标记为正确。
【问题讨论】:
-
这类问题通常出现在view-layer没有正确搭建或者app中orientation support不符合标准的情况下.我建议您在大喊任何 bug 之前再次仔细修改这些部分。
-
可能,但同样的问题在测试期间出现,并在苹果开发者论坛上被指出。但是,那里没有关于该问题的进一步 cmets,因此如果是用户错误,那么这是一个非常常见的问题,并且在 iOS7 和 iOS8 之间已经发生了变化。
-
是的,我是说键盘/方向的设置可能存在问题,但我终其一生都无法弄清楚它是什么。我没有在 iOS 7 或 6 下使用完全相同的应用程序看到问题,所以如果某些设置不正确,它现在只会浮出水面。也许其他人遇到了同样的问题?问一下也无妨。
-
我理解你的动机,但如果你能扩展你的帖子,告诉社区如何复制这个 'bug',会更有帮助。
-
你解决过这个问题吗?我在 iOS 中没有此问题的应用程序上看到了同样的情况。
标签: ios objective-c uikit ios8