我有一个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)
这里出了什么问题?谢谢。
答案 0 :(得分:3)
我有同样的问题。这是我的解决方案
创建一个文件夹,例如html,并将所有html文件与您的图像和其他资源一起放入。然后将该html文件夹拖放到您的xcode项目中。 xcode会在此时要求您提供副本选择&#34; 创建文件夹参考&#34;然后完成,检查下面的屏幕截图。
所以你的文件夹结构看起来像这样。
你的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