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





Попробуйте это, чтобы удалить наблюдателей с открытой клавиатурой,
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillHide, object: nil)
вы должны удалить наблюдателей либо в deinit, либо в viewDidDisappear согласно вашему требованию.
Вы можете поместить код в два места.
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)
}
попробуйте код ниже, надеюсь, он сработает для вас
override func viewDidDisappear(animated: Bool) {
NSNotificationCenter.defaultCenter().removeObserver(self)
}
self.view.endEditing(true), чтобы просто скрыть клавиатуру