无法在 iOS8 中获得正确的键盘高度值

问题描述:

我使用此代码来确定键盘的大小:

I was using this code to determine what is the size of the keyboard :

- (void)keyboardWillChange:(NSNotification *)notification {
    NSDictionary* keyboardInfo = [notification userInfo];
    NSValue* keyboardFrameBegin = [keyboardInfo valueForKey:UIKeyboardFrameBeginUserInfoKey];
    CGRect keyboardFrameBeginRect = [keyboardFrameBegin CGRectValue];

}

我在模拟器中运行它.

问题是因为 iOS 8 这不会给出正确的值,如果键盘建议是向上的或者如果我按下它们我会得到不同的(不正确的)值.

The problem is since iOS 8 this will not give the correct value, if the keyboard suggestions is up or if I push them down I get different (not correct) values.

如何获得键盘的确切尺寸,包括键盘建议?

How can I get the exact size of the keyboard including the keyboard suggestions?

使用

NSValue* keyboardFrameBegin = [keyboardInfo valueForKey:UIKeyboardFrameEndUserInfoKey];