1

iOS UIWebView からのリクエストを検出できるかどうかを判断しようとしています。そのような場合は、カスタム レイアウトを返します。

これがシナリオです。現在、Rails で完全にビルドされたモバイル Web ビューがあり、次のようになります。

ここに画像の説明を入力

これはブラウザに読み込まれ、正常に動作します。現在、ネイティブ コードと UIWebViews を混在させる Xcode でビルドされた iOS アプリに取り組んでいます。この時点で行ったことは、赤いナビゲーション バーをネイティブに作成することです。サイトの残りの部分 (背景が白いものすべて) を UIWebView にロードします。

理想的には、リクエストが iOS アプリ内から来ているかどうかを検出することでこれを行います。その場合、レイアウトには赤いナビゲーション バーが含まれません(既にネイティブに処理されているため)。リクエストがブラウザーからのものである場合、レイアウトには赤いナビゲーション バーが含まれます。

私は周りを検索しましたが、これについては何も見つかりません。このようなものを取り除く方法を知っている人はいますか?

4

1 に答える 1

1

[request setValue:@"true" forHTTPHeaderField:@"My-iOSApp"]を行うことで、ネイティブ iOS アプリの URL 呼び出しにカスタム ヘッダーを追加できますNSMutableURLRequest(これは、iOS アプリで HTTP ネットワークに使用しているシステムによって異なる場合があります)。

次にrequest.headers、Rails でヘッダーを取得し、それらを調べて、My-iOSAppキーがヘッダーにあるかどうかを確認します。そうである場合は、ボトム ボディ レイアウトのみをレンダリングします。それ以外の場合は、ナビゲーション バーで全体をレンダリングします。

于 2012-09-27T22:06:43.307 に答える