iOS 10, 9 up to 5
UIKeyboardDidChangeFrameNotification
Sent immediately after changing the keyboard frame.
The notification object is zero. The userInfo dictionary contains keyboard information. Use the keys described in Key Key Notification User Info Keys to get the location and size of the keyboard from the userInfo dictionary.
Tested on iPhone 6, iOS 10, 9, 8.4 (bundled, built, running, see the logs below).
The NSNotification dictionary shows the inverse of CGRect values ββin UIKeyboardFrameBeginUserInfoKey and UIKeyboardFrameEndUserInfoKey , and all 4 UIKeyboard__Notification are triggered when the appearance of the predicted accessory changes.
Swift 3
func addObserver(forName: Notification.Name) { NotificationCenter.default.addObserver(forName: forName, object: nil, queue: OperationQueue.main) { (note:Notification!) -> Void in print("\(forName): \(note)") } } addObserver(forName: .UIKeyboardWillShow) addObserver(forName: .UIKeyboardDidShow) addObserver(forName: .UIKeyboardWillChangeFrame) addObserver(forName: .UIKeyboardDidChangeFrame)
Turn Predictive ON

Magazine:
UIKeyboardWillChangeFrameNotification:
UIKeyboardWillShowNotification:
UIKeyboardDidChangeFrameNotification:
UIKeyboardDidShowNotification:
userInfo = {UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {375, 258}}"; UIKeyboardCenterBeginUserInfoKey = "NSPoint: {187.5, 554.5}"; UIKeyboardCenterEndUserInfoKey = "NSPoint: {187.5, 538}"; UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 442}, {375, 225}}"; UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 409}, {375, 258}}"; }
Turning Predictive OFF

Magazine:
UIKeyboardWillChangeFrameNotification:
UIKeyboardWillShowNotification:
UIKeyboardDidChangeFrameNotification:
UIKeyboardDidShowNotification:
userInfo = {UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {375, 225}}"; UIKeyboardCenterBeginUserInfoKey = "NSPoint: {187.5, 538}"; UIKeyboardCenterEndUserInfoKey = "NSPoint: {187.5, 554.5}"; UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 409}, {375, 258}}"; UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 442}, {375, 225}}"; }
βΊ Find this solution on GitHub and more about Quick Recipes .