Swift 4 показывает / скрывает клавиатуру при просмотре

Я пытаюсь реализовать отображение / скрытие на своей клавиатуре, но проблема в том, что когда я показываю свою клавиатуру, она проходит над моим видом и, что более важно, над моим текстовым полем и кнопкой, поэтому я могу печатать, я просто не могу нажми мою кнопку.

Вот скриншоты перед клавиатурой:

enter image description here

и вот когда представлена ​​клавиатура:

enter image description here

как видите, я не вижу текстового поля и кнопки.

Вот мой код в моем 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
          }
     }
 }

Почему моя клавиатура перекрывает мне поле зрения? и как мне это исправить?

0
0
824
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам необходимо заменить UIKeyboardFrameBeginUserInfoKey на UIKeyboardFrameEndUserInfoKey

Другие вопросы по теме