@objc private func keyboardDidShow(_ sender: NSNotification) { if let dic: Dictionary = sender.userInfo { if let value = dic[UIKeyboardFrameEndUserInfoKey] as? NSValue { print("height=\(value.cgRectValue.height)") } } } iOS8辺りまではこんな感じでCGRectのheight値をそのまま信じてもオッケーでしたが、iOS9からは外部キーボードを使ったときに、ショートカットバー(?)が出るようになったせいか、上記のものだと誤った高さになってしまいます。