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?
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
Dzięki, że pomaga. Jeśli umieścisz to jako odpowiedź, oznaczyłbym to jako poprawną odpowiedź. :-) – theory