2010-09-08 6 views
0

dans l'application iPhone, j'ai à la fois le champ de texte et le sélecteur dans la même fenêtre. Je veux que la fenêtre contextuelle du sélecteur disparaisse lorsque l'utilisateur clique sur le champ de texte et que le clavier apparaît. De même, le clavier devrait disparaître et la fenêtre contextuelle du sélecteur devrait apparaître lorsque l'utilisateur clique sur le sélecteur. Un exemple de code?iPhone App - Masquer sélecteur afficher le clavier et masquer clavier sélecteur

+1

Si le sélecteur disparaît, comment l'utilisateur le retrouve-t-il? – BoltClock

+0

Je me demandais moi-même! – jrtc27

+0

J'ai peut-être mal utilisé le mot. Lorsque vous cliquez sur le sélecteur, la fenêtre contient la liste. J'essaie de cacher ce popup pas le sélecteur. Dans mon cas, si l'utilisateur clique sur le champ de texte, le clavier vient et si l'utilisateur clique sur sélecteur - la fenêtre contextuelle vient également derrière le clavier. Je souhaite masquer le clavier lorsque le menu contextuel du sélecteur est affiché. De même, je masque le popup lorsque l'utilisateur clique sur le champ de texte et que le clavier s'ouvre. – Pilu

Répondre

0

Vous devez utiliser la méthode textfielddidbeginEditing. Dans lequel vous pouvez si condition pour identifier le champ de texte et sur la base de ce retour oui si vous voulez montrer le clavier et retourner non si vous ne voulez pas afficher le clavier. Ici, si vous ne retournez pas, le clavier ne s'affichera pas en même temps, vous pouvez afficher votre sélecteur avec votre code personnalisé.

J'espère que cela vous aidera.

+0

Merci Dipak qui aide certainement – Pilu

0

Il existe également un moyen d'écouter les notifications système pour l'apparition du clavier.

Dans votre contrôleur, faites ceci:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; 

Ensuite, mettre en œuvre la méthode juste keyboardWillShow: (id) sender, et vous aurez tout ce dont vous avez besoin.

Une autre notification signale également la disparition du clavier.

Si vous devez ensuite masquer le clavier, vous devez appeler "resignFirstResponder" sur l'objet auquel ce clavier est associé.

Questions connexes