当支持所有四个界面方向时,键盘不会随设备旋转

Keyboard does not rotate with device when all four interface orientations are supported

我的应用程序中的默认 iPad 键盘遇到了一个奇怪的错误。如果键盘当前正在显示并且您旋转设备,键盘将不会随之旋转。在应用程序处于 运行 时解决此问题的唯一方法是将设备旋转回之前的方向,关闭键盘,旋转设备,然后再次单击文本字段将其恢复。

在搜索我的代码和情节提要文件后,我发现的唯一修复方法是在我的 info.plist 文件中关闭对倒置方向的支持。然后键盘将像预期的那样随着设备旋转。但是,如果我不支持所有四个方向,我的应用程序将无法使用 Split View 多任务处理,并且该功能是优先级,具体取决于我的应用程序的使用方式。

此行为在纵向和横向视图中都会发生

Device in landscape, keyboard still in portrait

我遇到了同样的问题,这是一个 storyboard 错误相关的问题,但是很奇怪。

我解决了用不同名称(即 Master.storyboard)替换 Main.storyboard 的问题,然后我创建了一个空的 Main.storyboard。所以项目现在有 2 storyboards:

  • 新建Main.storyboard
  • Master.storyboard用旧的东西。

在代码中我实例化了 Master.storyboard

我还找到了另一种解决方案,可以移除倒置方向,但它会禁用应用程序的 split viewmultitasking 功能: