将本地图像直接加载到没有HTML的UIWebView中?

时间:2015-04-01 00:20:22

标签: ios objective-c uiwebview

我试图将本地图像文件加载到UIWebView中。是否有必要创建HTML文件并将图像加载到其中,还是可以直接在Web视图中加载图像?

这是我目前用于将图片加载到网页视图中的代码,但它显示为空白。

NSURL *url = [NSURL fileURLWithPath:localFilePath isDirectory:NO];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];

2 个答案:

答案 0 :(得分:2)

UIWebViewloadData:MIMEType:textEncodingName:baseURL:方法。你可以做一些更简单的事情,而不是用图像写HTML。

NSData *imageData = [NSData dataWithContentsOfURL:fileURL];
[self.webView loadData:imageData MIMEType:@"image/..." textEncodingName:@"utf-8" baseURL:nil];

MIMEType参数应更改为图像的MIME类型。 (例如jpeg是image/jpeg

答案 1 :(得分:0)

为什么要尝试将图片加载到UIWebView?这对我来说似乎是一种浪费。话虽这么说,我老实说,做你想要完成的最简单的方法是添加一个UIImageView作为该网络视图的子视图。

我想你也可以这样做,如果你想要引用一个引用你的包中存储的图像的HTML字符串:

// Given a UIWebView property called webView, and
// an image named "foo.png" in your main bundle.
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
NSURL *bundlePathURL = [NSURL fileURLWithPath:bundlePath];
[webView loadHTMLString:@"<img src=\"foo.png\" />" baseURL:bundlePathURL]; // Where foo.png is at that path, hopefully.