【发布时间】:2015-03-24 04:41:49
【问题描述】:
我知道我可以从keyboardWillShow 上的UIKeyboardFrameEndUserInfoKey 获取UIKeyboard 高度,并且当它成为第一响应者时触发keyboardDidShow 通知。
但是,我想知道在这些事件之前键盘的预期高度,以便我可以在视图控制器的 viewDidLoad 处设置某些设计元素。
由于设备正在发生变化并且新的拼写校正栏会改变键盘高度,我不想硬编码高度。
有谁知道如何从键盘获得预期的高度,同时考虑到它是否具有自动更正等功能?
【问题讨论】:
-
你到底需要它做什么?要具体,因为您几乎肯定想采用不同的方法。
-
请注意我的问题部分,即“我想知道这些事件之前键盘的预期高度,以便我可以在视图控制器的 viewDidLoad 处设置某些设计元素”。对此进行扩展:我的元素是根据键盘的高度进行布局的,但不是为了响应键盘的升高。
-
你不能事先知道。屏幕上每个文本字段或文本视图的键盘高度可能不同。一个可能有
inputAccessoryView,另一个可能没有。 -
基本上,如果我在 IB 中设置文本字段/视图或以编程方式设置类似 textField.inputView.frame.size.height 的内容会很好。与此同时,我已经解决了一些变通办法,但它们最终导致我的设计看起来不像我想要的那样,因为在 iOS8 之前不存在快速输入栏,谁知道未来会发生什么变化。我可以做出响应调整正在确定设备和操作系统,但它很烦人,并且再次受到 Apple 未来更改的影响
标签: ios iphone keyboard height uikeyboard