首页 > 解决方案 > 为键盘预留空间

问题描述

我熟悉如何在键盘出现、消失或更改时通过通知获取实际键盘高度。但是我想在屏幕底部有一个聊天视图,上面有一些按钮。这些按钮应尽可能低(出于可用性原因),但不应移动以不被键盘和聊天文本字段覆盖。

换句话说,在最高键盘高度 + 文本输入高度的高度处应该有一条不可见的线,并且按钮的底部应该与该线对齐。

挑战在于人们根据语言、设备、iOS 版本和设置使用具有不同高度的不同键盘。我可以添加一些神奇的常量,并希望 iOS 版本之间的变化不会太大,但我宁愿以某种方式轮询操作系统来给我这些信息,所以一切都会在 iPhone X、iPhone SE、iPad 之间自动更新风景肖像等等。

在实际显示之前,如何为键盘保留足够的空间?

标签: iosswift

解决方案


基本上,你不能做你所描述的。在它出现之前,您永远不知道会出现的键盘高度。并且用户可以在它出现后更改键盘高度。没有这样的事情,即让您的按钮“尽可能低(出于可用性原因),但永远不必移动以不被键盘和聊天文本字段覆盖。” 他们确实必须搬家。


推荐阅读