1

アプリで表示する必要がある非常に大きな HTML ドキュメントがあります。CSS 列を利用し、水平方向にスクロールします。私がやろうとしているのは、ドキュメントを現在の状態でレンダリングする UIWebView をアーカイブすることです。これにより、ドキュメントを CoreData からアーカイブ解除し、レンダリングされるまでユーザーを数秒間待たせる必要がなくなります。したがって、UIWebViewDelegate 内では、webViewDidFinishLoad が呼び出されたときに次のメソッドを使用してシリアル化します (コンテンツは外部ソースからではなく、文字列から読み込まれます)。

[NSKeyedArchiver archivedDataWithRootObject:self.webView];

webViewDidFinishLoad が複数回呼び出されているかどうかを確認しましたが、そうではありません。これとコア データの保存は実際に機能します。つまり、次にアプリを起動したときに適切に保存およびロードされます。ただし、UIWebView自体は保存されますが、コンテンツがロードされていないように見えるため、手順全体が私の目的には役に立たなくなります。この方法でオブジェクトを保存するという私の理解は間違っていますか、それとも単に実装の問題ですか?

どうもありがとう!

4

1 に答える 1

0

UIWebview をアーカイブする必要はないと思います。代わりに、カスタム CSS 要素を含む html ドキュメント ファイルをアプリのドキュメント ディレクトリに保存し、次のコードを使用してファイルパスを使用してレンダリングできます。

self.webview.scalesPageToFit=  YES;                        
[self.webview loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:filePath]]];
于 2013-05-03T11:41:35.823 に答える