2010-12-14 10 views
7

Utworzyłem UIWebView do logowania do interfejsu OAuth interfejsu API Graph API. Działa to świetnie, ale muszę nacisnąć pierwsze pole wejściowe, aby klawiatura pojawiła się. Najlepiej byłoby, gdyby klawiatura pojawiła się zaraz po pojawieniu się formularza. Więc ja już próbuje dowiedzieć się, jak zrobić pierwsze pole formularza uzyskać ostrość od sposobu webViewDidFinishLoad: UIWebViewDelegate, tak:Jak mogę uzyskać interfejs UIWebView, aby skoncentrować się na wprowadzeniu formularza i wyświetlić klawiaturę?

- (void)webViewDidFinishLoad:(UIWebView *)wv { 
    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('email')[0].focus();"]; 
} 

Niestety, to nie zadziała. Co ciekawe, po uruchomieniu tego JavaScript w konsoli JavaScript Firefox, przenosi fokus do pola e-mail. Jednak po uruchomieniu go w Safari na Maca nic nie robi, tak jak w iOS. FWIW, alert(document.getElementsByName('email')[0])czy pokazują, że wybiera on HTMLInputElement. Dlaczego więc focus() nic nie robi w systemie iOS lub Mac OS X?

+3

Nie sądzę, że jest to możliwe. Zobacz http://stackoverflow.com/questions/4199225/how-to-get-mobile-browsers-webkit-in-ios-android-to-display-their-soft-keyboar – Soumya

+0

Dzięki, że pomaga. Jeśli umieścisz to jako odpowiedź, oznaczyłbym to jako poprawną odpowiedź. :-) – theory

Odpowiedz

27

Jest to teraz możliwe z iOS 6.

UIWebView* webView = <#your webView here#>; 
[webView setKeyboardDisplayRequiresUserAction:NO]; 
[webView loadHTMLString:@"<html><head></head><body><form><input id=\"textField\" /></form><script>document.getElementById(\"textField\").focus();</script></body></html>" 
       baseURL:nil]; 
+0

Nowi użytkownicy: zwróć uwagę na JavaScript po złożeniu :) –

+1

Czy można to osiągnąć za pomocą WKWebView zamiast UIWebView? – Fizzix

0

Jako soumya92 zwraca uwagę w komentarzu do pierwotnego postu, this post stwierdza, że ​​nie jest to możliwe w tej chwili. Niestety.

+1

powinieneś rozważyć najlepszą odpowiedź na @ Arcank. –

+1

@DirtyHenry Done. – theory

Powiązane problemy