我使用一个xib文件和多个子视图为iOS 8构建了一个键盘。但是,此键盘仅在纵向模式下工作,当设备旋转时,键盘不会改变其大小或长度。我想我需要创建另一个带有景观子视图的xib文件,当设备旋转时有xib文件切换。我的问题是如何实现这一目标?如何使程序知道何时切换xib文件。我在想我应该使用类似于此处提出的内容:https://stackoverflow.com/a/25222353/2057171但我不知道如何实现它。任何帮助表示赞赏。
答案 0 :(得分:2)
纵向和横向的一个xib
如果在xib文件中对视图启用自动布局,则纵向和横向只能有一个xib。这些是我在自己的测试键盘中所做的步骤。
“inputView”会在纵向和横向之间切换时自动更改尺寸,因此当您针对“inputView”设置视图的约束时,您的视图将自动调整。
纵向和横向分隔xib
如果您决定为纵向和横向视图使用单独的xib文件,则可能需要在方向更改时加载并向inputView添加正确的子视图。我个人没有这样做,但我相信只要方向发生变化就会调用updateViewConstraints(),这样你就可以在那里实现逻辑。