He creado un UIWebView para iniciar sesión en la interfaz OAuth Graph API de Facebook. Esto funciona muy bien, pero tengo que tocar el primer campo de entrada para que aparezca el teclado. Lo ideal es que el teclado aparezca tan pronto como aparezca el formulario. Así que he estado tratando de encontrar la manera de hacer el primer campo de formulario conseguir el enfoque del método webViewDidFinishLoad:
UIWebViewDelegate, así:¿Cómo puedo obtener una UIWebView para enfocarme en una entrada de formulario y abrir el teclado?
- (void)webViewDidFinishLoad:(UIWebView *)wv {
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('email')[0].focus();"];
}
Por desgracia, esto no funciona. Curiosamente, cuando ejecuto ese JavaScript en la consola JavaScript de Firefox, mueve el foco al campo de correo electrónico. Cuando lo ejecuto en Safari para Mac, sin embargo, no hace nada, al igual que en iOS. FWIW, alert(document.getElementsByName('email')[0])
does muestra que selecciona un HTMLInputElement. Entonces, ¿por qué focus()
no hace nada en iOS o Mac OS X?
No creo que es posible. Consulte http://stackoverflow.com/questions/4199225/how-to-get-mobile-browsers-webkit-in-ios-android-to-display-their-soft-keyboar – Soumya
Gracias, eso ayuda. Si lo hubiera colocado como respuesta, lo habría marcado como la respuesta correcta. :-) – theory