Swift 3 NSNotificationCenter Keyboardwillshow/masquer

J'ai un morceau de code qui a travaillé dans Swift 2 et j'ai essayé d'utiliser xCode pour mettre à jour le code de la nouvelle version et je fixe le tout à l'exception de deux questions

J'ai ce code

let loginvc : LoginVC = self.storyboard?.instantiateViewController(withIdentifier: "LoginVC") as! LoginVC
NotificationCenter.defaultCenter().addObserver(self, selector: #selector(LoginViewController.keyboardWillShow(_:)), name: UIKeyboardWillShowNotification, object: nil)
NotificationCenter.defaultCenter().addObserver(self, selector: #selector(LoginViewController.keyboardWillHide(_:)), name: UIKeyboardWillHideNotification, object: nil)

que les paires avec cette

func keyboardWillShow(notification: NSNotification) {

    constraint.constant = -100
    UIView.animate(withDuration: 0.3) {
        self.view.layoutIfNeeded()
    }
}

func keyboardWillHide(notification: NSNotification) {

    constraint.constant = 25
    UIView.animate(withDuration: 0.3) {
        self.view.layoutIfNeeded()
    }
}

Sur la première partie, j'ai maintenant un message d'erreur indiquant que "le Type "LoginViewController' est pas membre de 'keyboardwillshow/masquer"

Je ne comprends pas pourquoi il n'est pas de voir la méthode en dessous

Quelqu'un connais une solution à ce problème?

a u ajouter le NotificationCenter à l'intérieur de viewDidLoad() ou viewDidAppear() la méthode?
Changement LoginViewController.keyboardWillShow(_:) à LoginViewController.keyboardWillShow(notification:)?
Essayé, et xCode veut m'ajouter l' _ de retour dans
Essayez func keyboardWillHide(_ notification: NSNotification) { et #selector(LoginViewController.keyboardWillHide(_:)). Avis ajouté le trait de soulignement dans le keyboardWillHide fonction.
découvrez mise à jour de Programmation Swift livre. Page 1027 et 1028 sont probablement ce que vous cherchez, vous pourriez aussi avoir à ajouter une @objc(keyboardWillHideWithNotification:) à votre classe.

OriginalL'auteur RubberDucky4444 | 2016-06-15