J'ai créé un UIWebView pour me connecter à l'interface OAuth de l'API Graph de Facebook. Cela fonctionne très bien, mais je dois appuyer sur le premier champ de saisie pour que le clavier apparaisse. Idéalement, le clavier apparaîtra dès que le formulaire apparaîtra. J'ai donc essayé de comprendre comment faire le premier champ de formulaire le focus de la méthode webViewDidFinishLoad:
de UIWebViewDelegate, comme ceci:Comment puis-je obtenir un UIWebView pour se concentrer sur une entrée de formulaire et afficher le clavier?
- (void)webViewDidFinishLoad:(UIWebView *)wv {
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('email')[0].focus();"];
}
Hélas, cela ne fonctionne pas. Curieusement, quand je lance ce JavaScript dans la console JavaScript de Firefox, il se concentre sur le champ email. Quand je l'exécute dans Safari pour le Mac, cependant, il ne fait rien, tout comme sur iOS. FWIW, alert(document.getElementsByName('email')[0])
ne montre qu'il sélectionne un HTMLInputElement. Alors, pourquoi focus()
ne fait rien dans iOS ou Mac OS X?
Je ne pense pas qu'il soit possible. Voir http://stackoverflow.com/questions/4199225/how-to-get-mobile-browsers-webkit-in-ios-android-to-display-their-soft-keyboar – Soumya
Merci, ça aide. Si vous aviez placé cela comme une réponse, je l'aurais marqué comme la bonne réponse. :-) – theory