2009-04-15 27 views
2

私はNYTimes iPhoneアプリケーションを使用していましたが、私はその記事を開いていなくてもUIwebviewをキャッシュしていることに気づいたときに少し戸惑うようになりました。iPhoneでUIWebViewをキャッシュすることは可能ですか?

NYTimes iPhoneアプリケーションのオフライン読み込みの仕組みは?

大変助かりました。

おかげで、

アミット

答えて

1

あなたはiPhone上でローカルに保存されたHTMLファイルをロードするためのUIWebViewを使用することができます。

NYTimesアプリはおそらくローカルストレージにHTMLと画像をキャッシュしています。

「UIWebViewローカル」を検索すると、いくつかのヒットが得られます。

私はそれを試してみたし、それは素晴らしい作品:


まず、「ビューベースのアプリケーション」を作成し、NIBへのUIWebViewを追加します。

第二に、あなたのUIViewControllerコードにこのコードを追加します。

​​

第三に、Xcodeで「リソース」フォルダに「index.htmlを」という名前のファイルを追加し、それが表示されます。

UPDATE:

実際、このの複雑な部分は、Webページのためのイメージやスタイルシートをダウンロードしています。 Simple HTML Parser(とPHP)を使用すると、このサーバー側を簡単に行うことができます。すべてのパッケージをzip形式でパッケージ化してiPhoneにダウンロードしてください。

また、C/C++/OBJC HTMLパーサー(libxml2.2はiOSで利用可能)を使用してローカルで実行することもできます。これは、の質問Parsing HTML on the iPhoneを参照してください。

これはちょっとプロジェクトになるだろう、幸運にも。

+0

コードは機能しますが、アプリの作成を明確に記述しているかどうかはわかりません。助けてくれたら教えてください! – bentford

+0

-1。難しい部分は、インターネットからWebファイルを取得し、ローカルサンドボックスに保存する方法です。難しい部分は、UIWebViewからローカルWebファイルを表示する方法ではありません。 –

+0

diwup、フォローアップを行いました。ええ、あまりにも簡単ではありません。がんばろう。 – bentford

2

NYTimesアプリを作成しました。ここでは、あなたがアプリのバンドルの中を見ていたかもしれないいくつかの詳細があります。

記事のHTMLをダウンロードし、サポートされていないHTMLやJSの生産者がそれに詰め込み、バッキングストアにキャッシュします。

記事のコンテンツは、一連のPタグ(HTMLフラグメント)に含まれています。私はそれをアプリに同梱されている特別なHTMLスケルトンページに埋め込みます。スタティックラッパーページには、記事を適切に表示して画像を遅延ロードするために使用されるCSSとJSも含まれています。

画像の読み込みは本当にクールです。イメージの準備ができたら、Webビューに通知されます。私は既に欠けている画像のサイズを知っているので、レイアウトは影響を受けません。

関連する問題