我需要根据用户激活的默认键盘的高度调整几个 UI 元素的位置。我知道如何获取默认系统键盘的高度:
keyboardHeight = (sender.userInfo![UIKeyboardFrameBeginUserInfoKey] as NSValue).CGRectValue().height
但是,当我将此代码与自定义键盘(例如 SwiftKey)一起使用时,高度返回为 0。如何获取自定义键盘的高度?抱歉,如果这个问题已经得到回答,但我还没有找到已回答的线程...谢谢!
最佳答案
解决了!事实证明,我在手机 (SwiftKey) 上测试的自定义键盘出于某种未知原因有三个 keyboardWillShow 回调……SwiftKey/iOS 8 部分的编码错误?无论如何,我以仅使用第一个回调的方式编写代码,但第三个回调返回了具有正确信息的发件人。按顺序,三个回调中的每一个的 UIKeyboardFrameEndUserInfoKey
返回的高度为:
No keyboard (0.0)
System's keyboard (also SwiftKey's keyboard without the autocomplete frame above the main keyboard)
Custom keyboard
我使用了来自第三个回调的信息并且能够正确更新我的 UI 元素。
关于ios - 获取自定义键盘的高度(iOS 8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27945743/