我使用一个 xib 文件和多个子视图为 iOS 8 构建了一个键盘。但是,此键盘仅适用于纵向模式,并且当设备旋转时,键盘不会改变其大小或长度。我想我需要创建另一个带有横向子视图的 xib 文件,并且当设备旋转时切换 xib 文件。我的问题是我将如何实现这一目标?我将如何使程序知道何时切换 xib 文件。我在想我应该使用类似于此处建议的内容:https ://stackoverflow.com/a/25222353/2057171 但我不知道如何实现它。任何帮助表示赞赏。
问问题
1468 次
1 回答
2
一个 xib 用于纵向和横向
如果在 xib 文件中的视图上启用自动布局,则纵向和横向都可能只有一个 xib。这些是我在自己的测试键盘中执行的步骤。
- 在 xib 文件中的视图上启用和设置自动布局
- 加载该子视图并将其添加到“inputView”
- 以编程方式设置此子视图相对于 inputView 的约束
“inputView”在纵向和横向之间切换时会自动更改大小,因此当您为视图设置与“inputView”相关的约束时,您的视图将自动调整。
纵向和横向的单独xib
如果您决定为纵向和横向视图使用单独的 xib 文件,则可能需要在方向更改时加载正确的子视图并将其添加到 inputView。我个人没有这样做,但我相信只要方向改变就会调用 updateViewConstraints() ,这样你就可以在那里实现你的逻辑。
于 2014-09-16T09:23:53.837 回答