Cacher le clavier tactile à l'extérieur de textfield
Je suis en train d'essayer de cacher le clavier après un toucher n'importe où sur l'écran. Le code que j'utilise est basée sur cette réponse ici.
IBOutlet UITextView *myTextView;
Et la méthode:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
if ([myTextView isFirstResponder] && [touch view] != myTextView) {
[myTextView resignFirstResponder];
}
[super touchesBegan:touches withEvent:event];
}
Ce que je ne comprends pas, c'est comment je dois relier mon UITextField à la touchesBegan
méthode. Qui a envoyé cas dois-je utiliser? Aussi, ne faut-il pas la méthode être une IBAction, parce qu'en ce moment je ne peux pas connecter mon UITextField.
J'ai aussi donné des ce code un essai, mais que l'un a été de me casser les boutons de navigation (même avec la solution mentionné dans les commentaires)
OriginalL'auteur | 2012-09-01
Vous devez vous connecter pour publier un commentaire.
Objectif C:
Swift:
C'est le meilleur moyen que j'ai trouvé et il est très simple.
+1 Ne nécessite pas de sélecteurs de sorte qu'il fonctionne pour plusieurs entrées.
OriginalL'auteur DirectX
Parce que vous n'avez pas. Vous devez surcharger cette méthode sur le point de vue de laquelle le champ de texte est un sous-vue.
Cela signifie que nous aurons à la sous-classe de la vue... Est-il possible sans sous-classement..?
Je ne suis pas sous-classement, ça fonctionne. Je suis la mise en œuvre de
UIViewController
si..OriginalL'auteur
Ce que je fais, c'est de changer l'ensemble de la classe UIView à UIControl.
Cela vous donne un touchDown de l'événement, vous pouvez relier jusqu'à une méthode de resignFirstResponder.
Le UIControl vous offre toutes les fonctionnalités d'une UIView.
meilleur mais comment on peut faire cela programitaclly?
Au lieu d'ajouter une UIView à un contrôleur, ajouter un UIControl.
Cette solution est tout simplement FABULEUX !
OriginalL'auteur Darren
OriginalL'auteur Paresh Hirpara
OriginalL'auteur Ar No
Essayer de la façon rapide et sale:
Prendre un bouton et de le lier à une méthode d'action(appelons cela l'arrière-plan). Étirer le bouton de sorte qu'il couvre l'ensemble de la vue. Ajuster les couches de la vue, de sorte que des choses que l'utilisateur interagit par le toucher sont au-dessus de la touche. Modifier le type de bouton à la coutume, ce faire le bouton invisible. Rejeter la firstResponder dans la méthode d'arrière-plan.
OriginalL'auteur RMDan