Попробуйте вместо этого использовать UIKeyboardDidShow
.
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWasShown(_:)), name: NSNotification.Name.UIKeyboardDidShow, object: nil)
Вы получите обратный вызов в методе keyboardWasShown, когда на экране появится клавиатура,
@objc func keyboardWasShown(_ notification : Notification)
{
let info = (notification as NSNotification).userInfo
let value = info?[UIKeyboardFrameEndUserInfoKey]
if let rawFrame = (value as AnyObject).cgRectValue
{
let keyboardFrame = self.reportItTableView.convert(rawFrame, from: nil)
let keyboardHeight = keyboardFrame.height //Height of the keyboard
}
}