2010-11-20 5 views
15

Dans mon application, j'ai une logique complexe entourant la dissimulation et l'affichage du clavier. Je suis intéressé à détecter lorsque l'utilisateur (qui a un iPad) exploite spécifiquement sur le bouton de masquage du clavier iPad:Comment détecter l'utilisateur de l'iPad, appuyez sur le bouton de masquage du clavier?

alt text

Je suis pas intéressé à détecter lorsque le clavier est censé se cacher, que lorsque l'utilisateur tape physiquement sur ce bouton. Aucune suggestion?

Merci!

Répondre

0

Je ne pense pas qu'Apple le permette, j'en ai peur. Mais peut-être pourriez-vous créer une vue invisible (view.opaque = FALSE; view.alpha = 0;) placée juste au-dessus du bouton susmentionné qui reçoit les touches en tant que premier répondeur (afin que vous obteniez l'événement) et le transmet ensuite au clavier suivant. Cependant, je ne sais pas s'il est possible de placer une vue au dessus du clavier, même "illégalement".

21

Je cherchais exactement la même solution, et je l'ai trouvée dans la documentation après tout. Vous obtenez tout un ensemble de notifications de clavier:

- UIKeyboardWillShowNotification 
- UIKeyboardDidShowNotification 
- UIKeyboardWillHideNotification 
- UIKeyboardDidHideNotification 
- UIKeyboardWillChangeFrameNotification 
- UIKeyboardDidChangeFrameNotification 

Je me suis intéressé à « UIKeyboardWillHideNotification ». Donc juste implémenté:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(KeyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; 

Et voilà! J'espère que cela aide, même si c'est une réponse en retard d'un an.

+2

Cette notification est également envoyée lorsque la vue est en rotation. Je m'intéresse uniquement à cette clé et je me promenais si vous aviez trouvé une autre solution? – Wojciech

Questions connexes