Соедините нижнее ограничение вашего табличного представления следующим образом, перетащив ограничение из файла xib в ваш файл класса.(Это нижнее ограничение является нижней частью табличного представления, когда клавиатура не видна)
@IBOutlet weak var bottomConstraint: NSLayoutConstraint!
Добавление наблюдателей клавиатуры, как показано ниже
func setKBObservers() {
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
}
Изменение высоты на основе видимости клавиатуры следующим образом
func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue {
bottomConstraint.constant = keyboardSize.height
view.setNeedsLayout()
view.layoutIfNeeded()
}
}
func keyboardWillHide(notification: NSNotification) {
bottomConstraint.constant = 0
view.setNeedsLayout()
view.layoutIfNeeded()
}