2017-07-20 2 views
0

J'ai un problème et je ne trouve pas la solution pour cela. En ce moment j'ai un reconnaisseur de geste de robinet dans viewDidLoad de mon VC() qui fermera le clavier si un robinet est enregistreur sur l'écran. Le problème est que lorsque l'utilisateur a fini de remplir les champs de texte et qu'il appuie sur le bouton «Enregistrer le compte», il est toujours reconnu comme un robinet et supprime seulement le clavier mais le bouton ne répond pas au tap et la fonction de sélection n'est pas appelée. Je veux dès que le bouton a été appuyé avec le clavier à l'écran pour appeler la fonction et faire son travail. S'il vous plaît aider. affichant juste la première ligne de la fonction appelée par le bouton, car cette question est aussi loin que j'ai:Comment déclencher l'action du bouton lorsque le clavier est toujours à l'écran dans swift?

@objc fileprivate func createAccount() { 
    confirmPasswordTextField.resignFirstResponder() 
+0

Voulez-vous que votre bouton "Enregistrer le compte" soit activé? Ou est-ce que ça va si tous les autres boutons deviennent aussi compatibles? – Pochi

+0

Eh bien, il n'y a qu'un bouton, le registre. Les deux options seraient bien cependant. –

Répondre

0

Si vous voulez juste faire tous les boutons action (avec le destituant du clavier) tout ce que vous ont à faire est de rendre votre robinet geste de reconnaissance ne touche annuler en vue:

var cancelsTouchesInView: Bool { get set } 

Il suffit donc de définir:

myTapGesture.cancelsTouchesInView = false 

https://developer.apple.com/documentation/uikit/uigesturerecognizer/1624218-cancelstouchesinview

Cela fera en sorte que lorsque l'utilisateur tape sur le bouton "Enregistrer le compte", le clavier se fermera et l'action sera également effectuée.

+0

Je l'ai dans mon viewDidLoad() et il ne le fait pas. let dismissTap: UITapGestureRecognizer = UITapGestureRecognizer (cible: self, action: #selector (keyboardHide)) dismissTap.cancelsTouchesInView = false // ne pas interférer et annuler d'autres interactions. view.addGestureRecognizer (dismissTap) –