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
Essayé, et xCode veut m'ajouter l' _ de retour dans
Essayez
découvrez mise à jour de Programmation Swift livre. Page 1027 et 1028 sont probablement ce que vous cherchez, vous pourriez aussi avoir à ajouter une
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
Vous devez vous connecter pour publier un commentaire.
Découvrez la mise à jour Swift Langage de Programmation livre. Pages 1027 et 1028 sont ce que vous cherchez. Il devrait être quelque chose comme ceci:
Avis supplémentaires soulignent ci-dessus. Aussi:
Vous pourriez aussi avoir à ajouter
@objc(keyboardWillHideWithNotification:)
à votre classe.OriginalL'auteur Lucas
Sur Swift 4.2, addObserver nom pour NSNotificationCenter changé:
OriginalL'auteur Ricardo Isidro
Utiliser que le code du travail sur swift3
Vous pouvez utiliser votre ViewController (e.g,
loginvc
) pour ajouter une notificationPuis ajouter le clavier de masquer et d'afficher méthode
OriginalL'auteur Harshad Patel
NSNotificationCenter ont des choses à modifier pour obtenir montrer clavier:
OriginalL'auteur Pablo Ruan