Я создал 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?