我正在尝试在UIWebView中显示html文档中的背景图像。当我在iOS模拟器(或谷歌浏览器)中运行时,图像显示完美,文本在顶部,但是如果我在我的iPhone上运行它,文本将显示没有背景图像。
我正在使用此Swift代码将html文档加载到WebView中:
webView.loadRequest(NSURLRequest(URL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource(htmlCodeFilename, ofType: "html")!)!))
然后我的html看起来像这样:
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-image: url("img.png");
background-size: 425px 640px;
font-size: 130%
}
</style>
</head>
<body>
<p>One evening as the sun went down</p>
</body>
</html>
运行时设备上的字体会增加,所以我知道它正在运行<style>
标记。
该图像当前与我的html和swift文件位于同一文件夹中。但令人担忧的是,如果我从项目中完全删除图像,图像仍会显示为模拟器中的背景。只有当我在CSS代码中捏造调用(例如background-image: url("ig.png");
)时,背景图像才会出现在模拟器中。
如果有人知道如何在设备上显示图像或知道发生了什么,我真的很感激帮助。
干杯
答案 0 :(得分:1)
我将本地图像转换为base64 format,它们现在可以在设备上使用。将此视为快速修复。
答案 1 :(得分:0)
当我从项目中完全删除图像时,不确定为什么设备从未识别出图像,或者为什么它仍然出现在模拟器上。
但是,只需在UIImageView
后添加WebView
即可解决问题。
然后在实现此功能的View Controller
中:
func setupWebViewClearBackground(webView: UIWebView) {
webView.opaque = false
webView.backgroundColor = UIColor.clearColor()
}
并称之为:
override func viewDidLoad() {
super.viewDidLoad()
setupWebViewClearBackground(webView)
imageView.image = UIImage(named: "Math Background")
loadHTML(webView,htmlCodeFilename: "htmlCodeFilename")
}
感谢所有的鱼!