iOS 8 自定义键盘方向更改

Posted

技术标签:

【中文标题】iOS 8 自定义键盘方向更改【英文标题】:iOS 8 custom keyboards orientation change 【发布时间】:2014-09-09 19:47:38 【问题描述】:

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

【问题讨论】:

【参考方案1】:

一个 xib 用于纵向和横向

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

    在 xib 文件中的视图上启用和设置自动布局 加载该子视图并将其添加到“inputView” 以编程方式设置此子视图相对于 inputView 的约束

“inputView”在纵向和横向之间切换时会自动更改大小,因此当您为视图设置与“inputView”相关的约束时,您的视图将自动调整。

纵向和横向的单独 xib

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

【讨论】:

以上是关于iOS 8 自定义键盘方向更改的主要内容,如果未能解决你的问题,请参考以下文章

如何更改iOS自定义键盘的高度?

iOS 8 自定义键盘:更改高度而不发出警告“无法同时满足约束...”

iOS 8 自定义键盘扩展 UIKeyboardType

iOS 8 横向纵向模式下的自定义键盘

iOS 8 自定义键盘自动布局键

iOS 8自定义键盘的高度限制根本不起作用