为什么HTML图像未在UIWebView中加载

时间:2016-08-13 08:45:36

标签: html ios uiwebview

我有一个HTML文件,在我的Xcode项目中导入,里面有一个图像。图像也在我的项目文件夹中,但是当我尝试在UIWebView中加载HTML文件时,图像永远不会被加载。

这是我的HTML文件:

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

这是我加载HTML文件的Swift代码:

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

这里出了什么问题?谢谢。

2 个答案:

答案 0 :(得分:3)

我有同样的问题。这是我的解决方案

创建一个文件夹,例如html,并将所有html文件与您的图像和其他资源一起放入。然后将该html文件夹拖放到您的xcode项目中。 xcode会在此时要求您提供副本选择&#34; 创建文件夹参考&#34;然后完成,检查下面的屏幕截图。

enter image description here

所以你的文件夹结构看起来像这样。

enter image description here

你的html文件将是

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

要加载此html文件,您的webview使用以下代码。

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

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

答案 1 :(得分:1)

我认为你在下面的帖子中有答案,那个人说

  

使用相对路径或文件:路径引用图像不起作用   使用UIWebView。相反,您必须使用HTML将HTML加载到视图中   正确的baseURL

Using HTML and Local Images Within UIWebView