Je crée une méthode de saisie personnalisée pour l'iPad, je souhaite pouvoir remplacer le clavier système par ma méthode de saisie et entrer du texte via cette méthode de saisie. Selon la documentation, tout ce que je dois faire est de définir la propriété inputView avec ma vue et elle sera utilisée à la place du clavier système. Je l'ai fait et cela fonctionne, en ce qui concerne l'affichage du clavier, mais comment entrer du texte dans la vue de texte?UITextView inputView
Apparemment, la vue de texte doit adopter le UIKeyInput et je peux utiliser les méthodes du protocole pour entrer le texte mais en réalité UITextView n'adopte pas ce protocole. conformsToProtocol:@protocol(UIKeyInput)
renvoie NON et "deleteBackwards" n'est pas implémenté (insertText et hasText sont implémentés.) En outre, "insertText" n'ouvre pas la méthode textViewDidChange:
delegate.Evidemment je dois envoyer la méthode UIKeyInput
à un autre objet (un éditeur de terrain?), mais comment puis-je obtenir?
des idées?
Merci. Cette solution est sympa, mais j'aimerais que la vue texte fasse réellement l'édition (et se comporte normalement, complète avec autocorrection et ainsi de suite) et ne modifie pas le texte moi-même. –
J'ai appelé DTS à ce sujet et il semble que votre solution est en effet la seule option. Leur réponse a été que UIKeyInput (et UITextInput) n'est pas pour le client (c'est-à-dire que vous n'êtes pas censé invoquer ces méthodes vous-même), mais uniquement pour les vues qui souhaitent recevoir une entrée au clavier. –