I have found that UIKeyboardWillShowNotification
and UIKeyboardDidShowNotification
are not generated when an undocked/split keyboard appears in
If the keyboard appears undocked / split, you don't need to detect it. The whole point of the undocked / split keyboard is that the user can move it freely if it's in the way.
You need to observe UIKeyboardWillChangeFrameNotification
and UIKeyboardDidChangeFrameNotification
instead. When you get them, you can look at the value for UIKeyboardFrameEndUserInfoKey
(if it exists, it doesn't always while dragging the keyboard) and see if that rect intersects the window to see if the keyboard is now on or off screen.