Ho creato un UIWebView per l'accesso all'interfaccia OAuth dell'API Graph di Facebook. Funziona alla grande, ma devo toccare il primo campo di input per far apparire la tastiera. Idealmente, la tastiera apparirà non appena appare la forma. Così ho cercato di capire come rendere il primo campo modulo di ottenere l'attenzione dal metodo webViewDidFinishLoad:
UIWebViewDelegate, in questo modo:Come posso ottenere una UIWebView per mettere a fuoco l'input di un modulo e far apparire la tastiera?
- (void)webViewDidFinishLoad:(UIWebView *)wv {
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('email')[0].focus();"];
}
Ahimè, questo non funziona. Curiosamente, quando eseguo quel JavaScript nella console JavaScript di Firefox, sposta l'attenzione sul campo dell'email. Quando lo eseguo in Safari per Mac, tuttavia, non fa nulla, proprio come su iOS. FWIW, alert(document.getElementsByName('email')[0])
fa mostra che seleziona un HTMLInputElement. Quindi, perché lo focus()
non fa nulla in iOS o Mac OS X?
Non credo sia possibile. Vedi http://stackoverflow.com/questions/4199225/how-to-get-mobile-browsers-webkit-in-ios-android-to-display-their-soft-keyboar – Soumya
Grazie, questo aiuta. Se lo avessi inserito come risposta, l'avrei contrassegnato come la risposta corretta. :-) – theory