1

我已经尝试了几乎所有将 html 文件加载到主包中包含图像和资源的 UIWebView 的方法。网页总是加载,但我永远无法显示图像。

NSString *html = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSString *htmldata = [NSString stringWithContentsOfFile:html encoding:NSUTF8StringEncoding error:nil];
NSString *path = [[NSBundle mainBundle] bundlePath];

[webView loadHTMLString:htmldata baseURL:[NSURL URLWithString:path]];

HTML代码有css:

background: url('image.png')

当应用程序使用其他方法运行时,我还确保该文件存在于包中,但仍然没有运气。有人看到我的代码有什么问题吗???

4

2 回答 2

2

loadHTMLString您可以让 Web 视图完成从捆绑文件中加载 HTML 的工作,而不是直接使用加载 HTML。这样它就应该知道 HTML 来自哪里来解析相关链接。

前任:

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]];
[webview loadRequest:[NSURLRequest requestWithURL:url]];

以上我没有测试过,你可能需要方法的inDirectory子句pathForResource。祝你好运!

于 2013-06-12T03:18:48.553 回答
1

这是一篇旧文章,但我认为使这项工作的一种方法是更改​​以下行:

[webView loadHTMLString:htmldata baseURL:[NSURL URLWithString:path]];

至:

[webView loadHTMLString:htmldata baseURL:[NSURL fileURLWithPath:path]];

评论中的方法和 jimbojw 的答案也有效,但在我的情况下htmldata不是从文件中检索,而是在内存中。

于 2015-03-05T17:32:55.077 回答