2015-04-01 75 views
0

我想加載一個本地圖像文件到UIWebView。是否需要創建一個HTML文件並將圖像加載到該文件中,或者是否可以直接將圖像加載到網頁視圖中?將本地圖像直接加載到沒有HTML的UIWebView?

這是我目前用來將圖像加載到網絡視圖中的代碼,但它顯示爲空白。

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

回答

1

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

+0

謝謝你的回答。當我下載UIWebView可以處理的其他文件類型時,它也適用於我。 – 2015-04-01 23:37:41

0

你爲什麼要把圖像加載到UIWebView?這對我來說似乎是一種浪費。話雖如此,我誠實地說,做你想做的事情的最簡單方法是添加一個UIImageView作爲該Web視圖的子視圖。

你也可以做到這一點,我認爲,如果你想注入的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. 
+0

那裏的代碼仍然未經測試,但我認爲應該這樣做。重要的是baseload部分的-loadHTMLString:baseURL:方法調用。這告訴web視圖,HTML體中的任何相對引用都應該看這個目錄。 – josefdlange 2015-04-01 00:52:13

+0

圖片只是其中一種可能的選項,我也會看到PDF文件,我相信可以通過網頁瀏覽完成。 – 2015-04-01 23:09:08