J'écris une application iOS universelle qui est un composant de saisie de texte. Lorsque la vue avec UITextView est affichée, j'appelle [UITextView becomeFirstResponder] pour que le clavier apparaisse. Lorsque l'utilisateur appuie sur done/save, les appels du contrôleur de vue apparaissent sur son contrôleur de navigation et le clavier doit automatiquement disparaître.Problèmes avec iPad, UITextView et firstResponder
Cela fonctionne très bien sur l'iPhone/iPod touch, mais sur l'iPad, le clavier reste en place, avec la vue accessoire, même après que la vue ait sauté. J'ai tout essayé: vérifier les fuites avec Instruments, l'analyseur statique, appeler plusieurs fois [UITextView resignFirstResponder], des photos de tas, et peu importe ce que je ne peux pas faire disparaître le clavier une fois le contrôleur de vue ouvert ou comprendre pourquoi diable ce ne serait pas. C'est un gros problème parce que le contrôleur de vue 'précédent' dans la hiérarchie UINavigationController n'a pas de champ de texte, et la vue accessoire reste sur le clavier et quand les boutons sont tapés, ils envoient des messages à la vue désallouée contrôleur, provoquant un accident. La seule différence que je peux nommer entre la version iPhone/iPad est que la version iPhone, bien sûr, présente le contrôleur de navigation modalement en plein écran, alors que sur l'iPad le contrôleur de navigation est présenté dans UIModalPresentationFormSheet. J'espère que c'est assez d'informations pour permettre à quelqu'un de diagnostiquer le problème. Si ce n'est pas le cas, je posterai un exemple de projet.
Bon appel. C'est ennuyeux. Très frustrant aussi. Des suggestions pour afficher un contrôleur modal qui permet la saisie de texte et le comportement sain du clavier sans utiliser le plein écran? – refulgentis
Pas que je sache, bien qu'il y ait probablement des façons de s'y prendre. Avez-vous essayé de voir si un popover fonctionnera pour vous? –