2
votes

Supprimer la notification du clavier lorsque ViewController disparaît

Comment puis-je supprimer la notification clavier?

J'ai ouvert et fermé l'observateur sur le clavier.

Je change la taille de la vue en fonction de l'ouverture ou de la fermeture du clavier.


1 commentaires

self.view.endEditing (true) pour masquer simplement le clavier


3 Réponses :


3
votes

Essayez ceci pour supprimer les observateurs de spectacle ouverts au clavier,

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

vous devez supprimer les observateurs soit dans deinit ou viewDidDisappear selon vos besoins .


0 commentaires

1
votes

Vous pouvez mettre le code à deux endroits.

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

Et sur celui-ci

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


0 commentaires

1
votes

essayez le code ci-dessous en espérant que cela fonctionne pour vous

override func viewDidDisappear(animated: Bool) {
            NSNotificationCenter.defaultCenter().removeObserver(self)
        }


0 commentaires