iOS 8横向:键盘不正确显示

我有一个为iOS8编译的应用程序.应用程序设置为仅允许在项目设置中进行纵向定向.应用程序的视图不会通过设计旋转到景观.在iOS7中,当您将设备旋转到横向时,键盘不会旋转.这是我想要的行为.

但是,在iOS8中,键盘错误地切换到横向.

我已经在物理iPhone 6 Plus上测试了这一点,以确认问题.还通过模拟器在iPhone 5上测试.任何想法如何解决这个问题?

潜在的固定

我不记得我为什么这样做,但是我有一些启动代码在应用程序启动时执行:

d.window.rootViewController = tabBarController;

其中tabBarController是应用程序的顶级选项卡栏控制器.删除此引导代码可以解决问题.

建议调查

虽然这在iOS的以前版本中没有出现,但看起来iOS8的行为有所不同.我建议您检查所有的引导代码.您可能需要尝试一个示例项目,并添加一些位,直到找到凶手,因为在我的情况下很难跟踪.以下提供的两个答案是修复症状而不是原因,所以我没有将它们标记为正确.

解决方法

我也有类似的问题,并发现iOS8之前的键盘方向与状态栏的方向有关,但不幸的是在iOS8中,键盘和状态栏方向是分开的.虽然这不利于解决您的问题,但希望能提供一些关于为什么发生这种情况的信息.

编辑:
尝试以下代码 – 它为我工作.根据允许的方向,您将不得不改变您显然翻转设备的方式.

// Note that UIInterfaceOrientationLandscapeLeft is equal to UIDeviceOrientationLandscapeRight (and vice versa).
// This is because rotating the device to the left requires rotating the content to the right.
[[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIDeviceOrientationLandscapeLeft] forKey:@"orientation"];

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...