2

UIWebView を使用して、アプリにいくつかの HTML コンテンツがあります。アプリがセグエを実行したり、別のビュー コントローラーをロードしたりするためのリンクを HTML コンテンツに追加したいと考えています。

たとえば、「現在のスペシャルをチェックしてください」というテキストを含む HTML コンテンツがある場合、タグを使用して「スペシャル」がストーリーボードからスペシャル ビュー コントローラーをロードできるようにします。

これを達成する方法はありますか?

4

1 に答える 1

1

表示するコードはありませんが、以前にこれを行う必要があったため、正しい方向性を示すことができると思います。ここにそれを行う方法があります。

  1. ハイパーリンクで、一意のスキーム名とパスを持つリンクを作成します。たとえば、MyScheme://GoToThisScreen/Identifier を使用します。
  2. UIWebViewデリゲートをファイル所有者に設定し、ファイル所有者がUIWebViewDelegateを実装していることを確認してください。
  3. webView:shouldStartLoadWithRequest:navigationType: をオーバーライドし、Web ビューからの URLRequest を調べます。それが自分のスキーム (MyScheme) でない場合は、通過させることができます。
  4. それがあなたのスキームである場合は、それを使用して次のステップを決定できます。たとえば、別の画面にセグエします。
  5. UIStoryBoard メソッドの instantiateViewControllerWithIdentifier: を使用します。識別子は、インスタンス化するシーンに割り当てられます (URI の最後の部分)。これを使用するには、正しいストーリーボードを取得する必要があることに注意してください。
  6. 手順 5 で受け取った View Controller を Navigation Controller にプッシュします。

お役に立てれば。

于 2012-04-17T19:50:26.007 に答える