Удалить уведомление клавиатуры, когда ViewController исчезает - PullRequest
1 голос
/ 28 марта 2019

Как я могу удалить уведомление клавиатуры?

Я кладу наблюдателя на клавиатуру, открываю и закрываю.

Я меняю размер вида в зависимости от того, открыта или закрыта клавиатура.

Ответы [ 3 ]

1 голос
/ 28 марта 2019

Вы можете поставить код в двух местах.

override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillShow, object: nil)
        NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillHide, object: nil)
    }

И на этом

deinit{
      NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillShow, object: nil)
      NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillHide, object: nil)
}
1 голос
/ 28 марта 2019

Попробуйте удалить клавиатуру с открытым шоу наблюдателей,

NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillHide, object: nil)

вы должны удалить наблюдателей либо в deinit, либо в viewDidDisappear согласно вашему требованию.

0 голосов
/ 28 марта 2019

попробуйте ниже код, надеюсь, он работает для вас

override func viewDidDisappear(animated: Bool) {
            NSNotificationCenter.defaultCenter().removeObserver(self)
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...