从webview中的initWithString缓存iphone图像

时间:2012-08-13 11:11:37

标签: ios uiwebview sdwebimage

我正在从SBJson解析器解析json。我正在使用SDWebIamge进行图像缓存。我的JSON数据有一个标签,即“内容”,文本之间有文本+图像链接。就像这样的事情

<p>This is sample text.<\/p>\n<p><a href=\"http:\/\/xyz.com\/08\/15.jpg\"><img class=\"aligncenter size-full wp-image-1273\" title=\"15\" src=\"http:\/\/xyz.com\/08\/15.jpg\" alt=\"\" width=\"422\" height=\"720\" \/><\/a><\/p>\n<p><a href=\"http:\/\/xyz.com\/08\/16.jpg\"><img class=\"aligncenter size-full wp-image-1274\" title=\"16\" src=\"http:\/\/xyz.com\/08\/16.jpg\" alt=\"\" width=\"680\" height=\"1024\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n

我解析并存储在我的NSString变量中。然后我有一个webview,我从这个NSString加载

 NSString *htmlString = [[NSString alloc] initWithString:myObj.Content];

加载文本并默认提取链接图像,因为我们都知道网页视图。我正在将此JSON数据保存到文件以供离线查看,这要归功于SDWebimage.But我的问题是当我加载时将内容保存到webview它只显示文本没有图像因为这些在我加载的NSString链接中没有图像兑现。所以如何在我的webview中缓存图像,以便下次当我从字符串加载我的webview时它将显示来自我的NSString数据中的链接。

由于

1 个答案:

答案 0 :(得分:0)

您可以使用现有的实现来执行此操作 - 例如ASIWebPageRequestProxyingUIWebView

或者您也可以尝试自己实现。一个选项如下:

  1. 解析HTML字符串并检测所有img标记及其src属性
  2. 下载并存储检测到的所有图像
  3. 通过修改HTML字符串中img标记中图像的路径,显示存储的(下载的图像)以代替在线原件。
  4. 请注意,这远非最佳解决方案,仅是一种可能实现的示例。