2010-08-07 11 views
2

Je souhaite qu'un UITextField reçoive le message resignFirstResponder s'il est en cours d'édition et qu'un utilisateur touche ailleurs à l'écran. Comme il existe plusieurs champs de texte, j'ai besoin d'un moyen de déterminer par programme quel est le premier répondeur à envoyer le message. Comment puis-je faire ceci? Y a-t-il une sorte d'objet global de premier intervenant?Détecter l'identité du premier répondeur par programme

Merci, Jacob

+1

en double de http://stackoverflow.com/questions/1823317/how-do-i-legally-get-the-current-first-responder-on-the-screen-on-an-iphone – mvds

+0

Cela ressemble une réponse prometteuse, merci! –

Répondre

0

UITextField hérite de UIResponder afin que vous puissiez utiliser isFirstResponder (qui retourne un BOOL) pour l'interroger.

if ([myTextField isFirstResponder]) { 
    // do stuff 
} 
+0

Supposons qu'un utilisateur modifie un UITextField dans un UITableViewCell et tape l'arrière-plan dans un autre UITableViewCell. Que UITableViewCell n'a pas accès à ses UITableViewCells frères, donc je devrais passer un message à une vue parent pour transmettre un autre message à toutes les cellules. Est-ce ce que vous recommandez? –