UIWebViewで閲覧中のHTML内で文字検索をしたいと思い、なにかいい方法がないか探したところ、サンプルアプリを添付してくれているページがありました。
第一のポイントはstringByEvaluatingJavaScriptFromString:の使い方で、てっきりHTMLに既にあるscriptの呼び出しに使うかと思っていたのですが、この引数で渡すjavascriptをHTML Documentに適用して結果を返してくれる、つまりscriptを事実上追加することができるのです。このjavascriptで適用した変数(var)やfunctionは、それ以降のメソッド呼び出しで使用することができ、グローバル変数は値も保持されます。
このサンプルのJavaScriptをもう少し単純化できないか試したのですが、書き直してはいるものの、ハイライト部分はほとんど同じ方法になっています。
このサンプルを基に作成したTheSearche2をアップします。
TheSearcher2
TheSearche2はオリジナルに次のような変更を加えています。
Storyboardを使用。
検索ヒット箇所の前後移動を追加。
初期HTMLをGoogle、Yahoo、Bingへのリンクとし、実際のWebページ内での検索を実行。
UIWebViewのサブクラスをdelegateを使用する方法に変更。
UIWebViewのドキュメントには"The UIWebView class should not be subclassed."と書かれています。
このサンプルには"UIWebViewとアプリの連携"のコードも含まれています。
このサンプルには"UIWebViewとアプリの連携"のコードも含まれています。
0 件のコメント:
コメントを投稿