あなたの質問に投稿された任意のコードを持たずに、私が最初にあなたのUIWebView.delegate
を設定し、キーボードはバックダウンすると、HTMLテキストフィールドはこれをテストするためにUIWebViewDelegate webViewDidFinishLoad:
する前に、最終的な呼び出しにタッチしたときにのみ発生することを推測していますそれを所有するUIViewController
(またはUIWebView
を所有するオブジェクト)に送信します。次に、これらのデリゲートメソッドを実装します。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *urlString = request.URL.absoluteString;
NSLog(@"%@ with URL = %@", NSStringFromSelector(_cmd), urlString);
return YES;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *urlString = webView.request.URL.absoluteString;
NSLog(@"%@ with URL = %@", NSStringFromSelector(_cmd), urlString);
}
アプリを実行して、webViewDidFinishLoad:
が呼び出された回数を書き留めます。 (ウェブページに複数のフレームが含まれている場合や、Googleアナリティクスのようなものが含まれている場合は、複数回呼び出されます)
最終的に `webViewDidFinishLoad: 'が呼び出された後にHTMLテキストフィールドに触れてみてください。キーボードは止まっていますか? (私はそう思うだろう)。
これがうまくいくならば、最後に `webViewDidFinishLoad: 'の最後の呼び出しの前に触れてみてください。キーボードは動くが、戻ってきますか?
キーボードがアップしたときにビューのサイズが正しく変更されますか?そうでない場合、予期しない動作の原因となる可能性があります。 – Paul
ビューのサイズを正しく設定するにはどうすればよいですか?私はすでにキーボードイベントのハンドラーを持っています。私はちょうどキーボードがどんな状態に留まるのに必要なのかわかりません... – Jake
あなたのwebViewデリゲートメソッドの1つでfirstresponderを変更/放棄しているようですね。それらの代議員のコードを表示してもらえますか? –