Swift 4 показать / скрыть клавиатуру при просмотре - PullRequest
0 голосов
/ 13 сентября 2018

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

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

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
          }
     }
 }

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

1 Ответ

0 голосов
/ 13 сентября 2018

Вам нужно заменить UIKeyboardFrameBeginUserInfoKey на UIKeyboardFrameEndUserInfoKey

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...