如何在iOS 8中获得第三方键盘大小?

Jor*_* SV 5 iphone keyboard objective-c ios ios8

我已经在iOS 8的手机5s中安装了Swift Keyboard.

获取键盘大小的原始方法(Objective-C)仅适用于系统键盘,例如:

- (void)keyboardWillShow:(NSNotification *)notification
{
    CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
}
Run Code Online (Sandbox Code Playgroud)

如果我使用Swift键盘... keyboardSize.height为零.如何在iOS 8中获得第三方键盘大小?

谢谢.

小智 8

我认为那是因为你在实际显示键盘之前就已经达到了这个尺寸.

尝试更换:

objectForKey:UIKeyboardFrameBeginUserInfoKey
Run Code Online (Sandbox Code Playgroud)

附:

objectForKey:UIKeyboardFrameEndUserInfoKey
Run Code Online (Sandbox Code Playgroud)

这对我来说对SwiftKey很有用!

  • 这符合我自己的研究.我还注意到SwiftKey在节目中发送了3个事件,结束高度设置为0,然后是键盘的高度,然后是键盘+自动完成区域的高度.我的代码并不期望连续3个UIKeyboardWillShowNotification事件具有不同的高度,因此需要进行一些调整. (3认同)