6
votes

Swift - Comment rejeter le clavier numéro après taraudage en dehors du champ de texte

Comment renvoyeriez-vous le clavier de l'Uitextfield lors de la prise en dehors du clavier. J'ai essayé résigneurstreesponder () et il ne quitte que après avoir tapé un chiffre. J'ai également essayé textfield.inputview = uiview.frame (cadre: CGRectZero) . J'ai vu de nombreux verisons Obj-C de ce que je demande, mais j'ai besoin de l'équivalent rapide parce que je n'ai aucune expérience de programmation dans l'objectif-C

Merci pour votre temps et votre patience.


2 commentaires

Textfield.Resignfiresponder () devrait fonctionner correctement. Voici un exemple d'exemple téléchargé Dropbox.com/s/e0vm89GD6UEGPN0/TextField. Zip? DL = 0


Vérifiez également votre code de mines sur le périphérique actuel.


5 Réponses :


17
votes

Le meilleur moyen d'ajouter un reconnaissance de geste de robinet à la vue et d'appeler soit RésignFirStreresponder () ou Self.View.entrediting (True). Je préfère la mise en scène () puisque la résigneur doit être effectuée pour chaque champ de texte séparément, contrairement à la fin, qui est effectuée pour la vue elle-même.

Dans la vue ViewDiDload, écrivez le code ci-dessous: P>

let tapRecognizer = UITapGestureRecognizer()
tapRecognizer.addTarget(self, action: #selector(ViewController.didTapView))
self.view.addGestureRecognizer(tapRecognizer)


4 commentaires

Où dois-je mettre la fonction DidTapView


Ajoutez simplement la fonction de fonctionnement à l'intérieur de la même classe de contrôleur que vous avez.


SWIFT 3 m'a obligé d'ajouter dans un sélecteur, comme suit TaprecognIzer.addtarget (Self, Action: #Selector (MyViewController.DidTapView))


Ajout de la syntaxe Swift 3 aussi. Merci@christyherron



0
votes

Si vous ne voulez pas définir une méthode supplémentaire, il existe une manière légèrement plus simple qui fonctionnera également xxx


2 commentaires

Utilisation de cela, je reçois l'erreur, L'utilisation du littéral de chaîne pour l'objectif-C Seletors est obsolète; Utilisez '#Selector' à la place . Je posterai si je trouve la solution.


Enddition: sélecteur non reconnu envoyé à l'instance



2
votes

Vous pouvez également utiliser cette méthode pour rejeter le clavier lorsque vous appuyez sur 'RETURN'

func textFieldShouldReturn(textField: UITextField!) -> Bool {
        self.view.endEditing(true);
        return false;
}


0 commentaires

5
votes

SWIFT 3 testé et fonctionnant xxx

Profitez

Swift 2.3 Testé et fonctionnel < / strong> xxx

profiter


0 commentaires

0
votes

J'ai trouvé ce code sur un site et ça marche génial pour moi! XXX PRE>

Appelez simplement cette fonction dans une action de bouton ou similaire: P>

dismissMyKeyboard()


0 commentaires