Я пытаюсь реализовать функцию «показать / скрыть» на моей клавиатуре, но проблема в том, что когда я показываю свою клавиатуру, она переходит к моему виду и, что более важно, она переходит к моему текстовому полю и кнопке, поэтому я могу печатать, я просто не могу нажать мою кнопку.
Вот скриншоты перед клавиатурой:
а вот когда клавиатура представлена:
как видите, я не вижу текстового поля и кнопки.
Вот мой код в моем viewDidLoad
NotificationCenter.default.addObserver(self, selector: #selector(CommentsController.keyboardWillShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(CommentsController.keyboardWillHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
и вот методы:
@objc func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
if self.view.frame.origin.y == 0{
self.view.frame.origin.y -= keyboardSize.height
}
}
}
@objc func keyboardWillHide(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
if self.view.frame.origin.y != 0{
self.view.frame.origin.y += keyboardSize.height
}
}
}
Почему моя клавиатура движется поверх моего взгляда? и как мне это исправить?