Я создал UIWebView для входа в OAuth-интерфейс Graph API Facebook.Это прекрасно работает, но я должен коснуться первого поля ввода, чтобы клавиатура всплыла.В идеале клавиатура должна появиться, как только появится форма.Поэтому я пытался выяснить, как заставить первое поле формы получить фокус с помощью метода webViewDidFinishLoad:
UIWebViewDelegate, например так:
- (void)webViewDidFinishLoad:(UIWebView *)wv {
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('email')[0].focus();"];
}
Увы, это не работает.Любопытно, что когда я запускаю этот JavaScript в консоли Firefox JavaScript, он перемещает фокус на поле электронной почты.Однако когда я запускаю его в Safari для Mac, он ничего не делает, как на iOS.FWIW, alert(document.getElementsByName('email')[0])
показывает , что он выбирает HTMLInputElement.Так почему же focus()
ничего не делает ни в iOS, ни в Mac OS X?