2016-08-13 107 views
2

我有一個在我的Xcode項目中導入的HTML文件,裏面有圖像。該圖像也在我的項目文件夾內,但是當我嘗試在UIWebView中加載HTML文件時,圖像從不加載。爲什麼HTML圖像不能在UIWebView中加載

這是我的HTML文件:

<!DOCTYPE html> 
<html> 
<body> 
<img src="background.png"/> 
</body> 
</html> 

,這裏是我的銀行代碼加載HTML文件:

var htmlFile = NSBundle.mainBundle().pathForResource("Travel", ofType: "html") 
var htmlString = try? String(contentsOfFile: htmlFile!, encoding: NSUTF8StringEncoding) 
weeb.loadHTMLString(htmlString!, baseURL: nil) 

這是怎麼回事錯在這裏?謝謝。

+0

我想問的第一個問題是爲什麼你使用HTML頁面來顯示圖像?你有沒有考慮使用'UIImageView'? – Harsh

+0

我正在使用HMTL,因爲我必須在圖像中添加一個長文本。 – user3882720

回答

3

我有同樣的問題。這裏是我的解決方案

創建一個文件夾爲例如HTML和把所有的HTML文件以及您的圖像和其他資源。然後將該文件夾拖放到您的xcode項目中。當時xcode會要求你複製選項「創建文件夾參考」然後完成,點擊下面的檢查截圖。

enter image description here

所以你的文件夾結構如下所示。

enter image description here

你的HTML文件將

<!DOCTYPE html> 
<html> 
    <body> 
     <img src="back.png"/> 
    </body> 
</html> 

要加載這個HTML文件的網頁視圖使用下面的代碼。

let bundlePath = NSBundle.mainBundle().bundlePath 
    let htmlFile = "\(bundlePath)/html/sample.html" 

    let fileURL = NSURL(fileURLWithPath: htmlFile) 
    webview.loadRequest(NSURLRequest(URL: fileURL)) 
+0

它正在工作!謝謝您的回答。 – user3882720

1

我認爲你必須在以下職位的答案在那傢伙說

使用相對路徑或文件:路徑是指圖像不UIWebView的工作 。相反,你必須加載HTML到視圖與 正確的基本URL

Using HTML and Local Images Within UIWebView

+0

謝謝你的回答。我認爲我在相關文章中使用了相同的代碼結構,並且無法正常工作。 – user3882720

相關問題