1

我有一个非常大的 HTML 文档,需要在我的应用程序中显示。它利用 CSS Columns 并水平滚动。我尝试做的是归档以当前状态呈现文档的 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 回答