¿Cómo aparece el teclado predeterminado cuando el usuario toca en UIWebView?

Actualmente estoy desarrollando un navegador iOS personalizado, algo así como Mogok. Necesito cambiar el teclado predeterminado cuando el usuario toque cualquier entrada de texto en UIWebView.

Me pregunto cómo el sistema muestra el teclado cuando un usuario toca un texto de entrada en UIWebView. ¿Cómo puedo obtener la referencia del campo de texto que se convierte en el primer respondedor en UIWebView? Ya he hecho 2 noches de negro 🙂 Aún no hay resultados 🙁

Cualquier ayuda sería muy apreciada.

Saludos a Ranjan

Bueno, si no puedes vencerlos, únete a ellos.

Hasta donde yo sé, y lo intenté. No puede cambiar el inputView o el inputAccessoryView sin utilizar una clase privada (UIWebBrowserView).

Pero puede detectar cuándo aparece el teclado , con la notificación UIKeyboardWillShowNotification. Entonces, ¿ qué tal un hombre en el medio ? Quiero decir, use un UITextField como un buffer .

Déjame explicar un poco más.

Cuando aparece el teclado, puede verificar si el primer respondedor es el UIWebView, si es así, puede convertirse en una vista de texto como el primer respondedor.

¿Qué ganas con eso? El texto escrito con el teclado irá a la vista de texto. Eso es inútil, dirías. Por supuesto, pero ¿qué tal si cambias la vista de entrada de la vista de texto ? ¿Cómo? Con esto https://github.com/kulpreetchilana/Custom-iOS-Keyboards

¡¡Tienes un teclado personalizado cuando el usuario está escribiendo en la vista web !!!

¿Cómo puedes poner el texto del texto en la vista web? Fácil, ponga el texto del texto en la entrada del html interno con textViewDidChange y javascript.

- (void)textViewDidChange:(UITextView *)textView{ NSString* script = [NSString stringWithFormat:@"document.activeElement.value = '%@';", textView.text]; [self stringByEvaluatingJavaScriptFromString:script]; } 

Puse en negrita las frases principales de la idea. Pero, tal vez mi explicación es difícil de entender. O mi inglés es malo, así que subí un proyecto de muestra con la idea.

Puede controlar qué teclado aparece para un campo de texto cambiando el atributo de tipo en HTML, p. Ej.

Aquí está la lista de tipos posibles: http://www.whatwg.org/specs/web-apps/current-work/#attr-input-type