プログラミングノートスマートフォン用の表示で見るプログラミングノート一からものを作ることが好きなエンジニアの開発ブログです。この広告は、90日以上更新していないブログに表示しています。2011-11-03UIWebViewでWebとネイティブを相互連携させる方法についてiOS特定のページのみUIWebViewを使ってWebページを表示することはよくあると思いますが、そのページでの処理終了したタイミングで、再びネイティブコードを実行したいというケースがあります。PhoneGapではJSからネイティブコードを呼ぶ仕組みが実現されていますが、これと似たような仕組みを作るにはどうすればよいのか紹介します。ネイティブからWeb呼び出しJSを実行するためのメソッドがあるので任意のタイミングでそれを利用するだけでOKです。native');"];簡単ですね。Webからネイティブ呼び出しUIWebViewDelegateにある、ページがロードされる前に呼ばれるメソッドを利用します。YES;}ここでYESを返すと通常通りページ遷移されるのですが、NOを返すとページ遷移をキャンセルできます。これを利用して、特定のパターンの場合のみページ遷移をキャンセルして他のメソッドを実行すればWebからネイティブコードを呼び出すことが可能になります。Webから呼び出す際のスキームを決めておきます。今回は下記のようにし、paramsはJSONでまとめて値を渡すようにします。app-api://method(params)Web側からはロケーションを変更することでネイティブコードを呼び出します。web'})"上記パターンの判定ロジックを追加します。NO;}受け取ったパラメータはSBJsonなどのパーサーを利用して、ディクショナリーで取得できます。release];ここまでくれば後は対応したいAPIのロジックを追加して行くだけですね。スキームも自由に変更可能なので、解析しやすい形で実装するのもよいかと思います。クックパッドを退職しました。様々な動画の加工が1本のアプリで完結できる『ビデオスミス』をリリースしました。検索はてなブログをはじめよう!ntakuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。