Estoy haciendo un método de entrada personalizado para el iPad, quiero ser capaz de reemplazar el teclado del sistema con mi método de entrada e ingresar texto a través de ese método de entrada.UITextView inputView
De acuerdo con la documentación, todo lo que tengo que hacer es establecer la propiedad inputView con mi vista y se usará en lugar del teclado del sistema. Lo hice y funciona, en cuanto a mostrar el teclado, pero ¿cómo introduzco el texto en la vista de texto?
Supuestamente, la vista de texto debe adoptar la UIKeyInput y puedo usar los métodos del protocolo para ingresar el texto pero, en realidad, UITextView no adopta este protocolo. conformsToProtocol:@protocol(UIKeyInput)
devuelve NO y "deleteBackwards" no está implementado (insertText y hasText están implementados. Además de eso, "insertText" no hace que se invoque el método delegado textViewDidChange:
. Obviamente tengo que enviar el método UIKeyInput
a algún otro objeto (un editor de campo?), pero ¿cómo lo consigo?
¿Alguna idea?
Gracias. Esta solución es buena, pero me gustaría que la vista de texto realmente haga la edición (y se comporte normalmente, complete la autocorrección, etc.) y no edite el texto yo mismo. –
Llamé a DTS sobre esto y parece que su solución es la única opción. Su respuesta fue que UIKeyInput (y UITextInput) no es para el cliente (es decir, se supone que nunca debe invocar estos métodos) sino solo para las vistas que desean recibir información del teclado. –