FacebookのGraphAPIOAuthインターフェイスにログインするためのUIWebViewを作成しました。これはうまく機能しますが、キーボードをポップアップさせるには、最初の入力フィールドをタップする必要があります。理想的には、フォームが表示されるとすぐにキーボードが表示されます。だから私は最初のフォームフィールドがwebViewDidFinishLoad:
UIWebViewDelegateメソッドからフォーカスを取得するようにする方法を理解しようとしてきました:
- (void)webViewDidFinishLoad:(UIWebView *)wv {
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('email')[0].focus();"];
}
残念ながら、これは機能しません。不思議なことに、Firefox JavaScriptコンソールでそのJavaScriptを実行すると、フォーカスが電子メールフィールドに移動します。ただし、Safari for Macで実行すると、iOSの場合と同じように何も実行されません。FWIWは、HTMLInputElementを選択することを示していますalert(document.getElementsByName('email')[0])
。では、なぜfocus()
iOSでもMacOSXでも何もしないのでしょうか。