【问题标题】:getting image from UIWebView从 UIWebView 获取图像
【发布时间】:2012-01-19 23:14:02
【问题描述】:

我正在 UIWebView 中加载网页,显然网页中有很多图像。我正在通过

将它加载到 UIWebView
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL

问题是这不会触发我子类化的 NSURLCached。我基本上想缓存我在 UIWebView 加载 <img src = ""> 标记时获得的数据,以便我以后可以使用它来加快加载速度等。有没有办法做到这一点?

【问题讨论】:

    标签: iphone objective-c ipad uiwebview


    【解决方案1】:

    是的,这应该确实有效。您是否通过 NSURLCache 全局设置了缓存

    + (void)setSharedURLCache:(NSURLCache *)cache
    

    在加载 HTML 之前?

    也许您想看看Matt Gallagher's NSURLCache Tutorial,它显示了一个子类 NSURLCache 的示例,它几乎可以满足您的要求(为某些请求提供存储的图像)。

    【讨论】:

    • 是的,我确实阅读了 Matt Galagher 的教程。由于某种原因,我的子类 NSURLCache 没有被调用
    • 您可以发布或链接到您的代码吗?你想要的应该是可能的,所以我们应该看看你的具体实现。
    • 其实如果你下载了 matts Gallagher NSURLCache 的例子,用 loadHTMLString 代替 loadRequest 就不会触发他写的任何 NSURLCache 子类,你可以试试
    • 我做到了,它确实有效:尝试使用 [((UIWebView *)self.view) loadHTMLString:@"<img src='http://images.apple.com/global/nav/images/globalnavbg.png' />" baseURL:nil]; 而不是 loadRequest: 调用,您应该会看到替换图像。
    • 那是真的,它有效.. 想知道为什么我的没有。我基本上将 LocalSubstitutionCache 复制到我的项目中并做了一个 loadHTMLString ,然后它没有调用 NSURLCache 子类。如何使它使用 LocalSubstitutionCache?
    猜你喜欢
    • 2015-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多