iOS 8自定义键盘方向改变

时间:2014-09-09 19:47:38

标签: ios iphone ios8 ios-app-extension custom-keyboard

我使用一个xib文件和多个子视图为iOS 8构建了一个键盘。但是,此键盘仅在纵向模式下工作,当设备旋转时,键盘不会改变其大小或长度。我想我需要创建另一个带有景观子视图的xib文件,当设备旋转时有xib文件切换。我的问题是如何实现这一目标?如何使程序知道何时切换xib文件。我在想我应该使用类似于此处提出的内容:https://stackoverflow.com/a/25222353/2057171但我不知道如何实现它。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

纵向和横向的一个xib

如果在xib文件中对视图启用自动布局,则纵向和横向只能有一个xib。这些是我在自己的测试键盘中所做的步骤。

  1. 在xib文件中的视图上启用并设置自动布局
  2. 加载并将该子视图添加到“inputView”
  3. 以与inputView相关的方式设置此子视图的约束
  4. “inputView”会在纵向和横向之间切换时自动更改尺寸,因此当您针对“inputView”设置视图的约束时,您的视图将自动调整。

    纵向和横向分隔xib

    如果您决定为纵向和横向视图使用单独的xib文件,则可能需要在方向更改时加载并向inputView添加正确的子视图。我个人没有这样做,但我相信只要方向发生变化就会调用updateViewConstraints(),这样你就可以在那里实现逻辑。