获取自定义键盘的高度(iOS 8)

时间:2015-01-14 14:53:39

标签: ios swift keyboard

我需要根据用户激活的默认键盘的高度来调整多个UI元素的位置。我知道如何获得默认系统键盘的高度:

keyboardHeight = (sender.userInfo![UIKeyboardFrameBeginUserInfoKey] as NSValue).CGRectValue().height

但是,当我将此代码与自定义键盘(例如SwiftKey)一起使用时,高度将返回0.如何获得自定义键盘的高度?很抱歉,如果这已经得到解答,但我还没有找到一个已回答的帖子......谢谢!

1 个答案:

答案 0 :(得分:1)

解决了!事实证明,我在手机上测试的自定义键盘(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元素。