1

这是加载的 HTML 代码

UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
[[NSBundle mainBundle] pathForResource:@"111" ofType:@"jpg"];
NSURLRequest *repuest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://192.168.0.5/index.html"]];
[webView loadRequest:repuest];
[self.view addSubview:webView];

这是HTML代码

<img src="111.jpg" />
<hr />

这样做无法加载图像。在这种情况下,如何使 HTML 加载到图片中?

4

2 回答 2

0

好的,这是久经考验的代码。应该为你工作。

NSString *imagePath;
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle bundlePath];
imagePath = [NSBundle pathForResource:@"111" ofType:@"jpg" inDirectory:path];

NSString *fixedURL = [imagePath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
fixedURL = [NSString stringWithFormat:@"file://%@",fixedURL];
NSString *commentHtml = [NSString stringWithFormat:@"<img src=\"%@\"/>", fixedURL];
NSString *html3 = [NSString stringWithFormat:@"<html><head/><body><div><b>COMMENTS:</b></div>%@</body></html>", commentHtml];

[webView loadHTMLString:html3 baseURL:nil];
于 2013-04-24T08:04:09.050 回答
0

如果它只有一个 html 页面,除了图像之外没有其他任何内容的相对链接,您可以为请求设置基本 url

这意味着:所有相对 url 都被认为是相对于这个基本 url


但是,如果您的 html 在服务器和本地图像上使用 css/js/html 文件,您将需要 2 个基本 url,这是不可能的。

您唯一的选择是重写 html 以仅将绝对 URL 用于非本地的任何内容,然后设置基本 url。

于 2013-04-24T07:51:07.660 回答