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