2016-08-13 134 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