11

アプリ用の html エディター コンポーネントを作成しています (iOS 5.0 で contentEditable を使用して UIWebView を使用)。

[webView isFirstResponder]、[webView becomeFirstResponder]、および [webView rejectFirstResponder] が機能していないようで、コードで webView を作成または再署名する方法がわかりません

誰かがこれを解決する方法を知っていれば、私は非常に感謝しています、事前に感謝します!

4

5 に答える 5

2

最近同じ問題に遭遇しましたが、純粋な JavaScript を使用して解決しました。実際には、Objective-C First Responder 関連のメソッドは必要ありません。JavaScript を使用して、UIWebView のコンテンツ (ターゲット HTML 要素の contentEditable 属性値) を要件に従って変更しました。

たとえば、次のコードを使用して、UIWebView の編集可能なコンテンツによって呼び出されるキーボードを非表示にします。

[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('target').setAttribute('contentEditable','false')"];

これが役に立てば幸いです。:)

于 2011-12-13T20:23:46.980 に答える
0

UIWebView サブクラスでこれらのメソッドを上書きする方法は次のとおりです (コンテンツは編集可能な要素の ID です)。

[_webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('content').focus()"];

ただし、フォーカスは最後のポイントではなく最初のポイントに移動します

于 2014-01-29T05:47:43.340 に答える
-2

キーボードを非表示にする場合は、次のコード行を呼び出します。

//wView is your UIWebView

NSString *webText = [wView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];
 [wView loadHTMLString:webText baseURL:nil];
于 2012-06-13T04:31:28.947 に答える
-2

[webView loadHTMLString:[NSString stringWithFormat:@"%@", htmlString] baseURL:nil]; これは iOS > 4 で動作します

于 2012-06-18T12:35:02.267 に答える