我的ViewController中有一个webView。我在我的项目中创建了一个BullsEye.html文件,我想在我的Web视图中显示该html文件。以下是我的代码
if let url = Bundle.main.url(forResource: "BullsEye",
withExtension: "html") {
if let htmlData = try? Data(contentsOf: url) {
let baseURL = URL(fileURLWithPath: Bundle.main.bundlePath)
webView.load(htmlData, mimeType: "text/html",
textEncodingName: "UTF-8", baseURL: baseURL)
}
}
上面的代码是用viewDidLoad编写的。我错过了什么?
答案 0 :(得分:2)
我按原样运行您的代码,并且在更改webView加载程序代码后能够使这些工作正常工作。这告诉我你可能有一个潜伏在某处的UIWebView,可能是你在故事板中的视图。
我建议您确保始终使用WKWebView:
WebKit
WKWebView
,而不是已弃用的 UIWebView 答案 1 :(得分:1)
我认为您的源代码本身没有问题。
但是Bundle.main.url(forResource: "BullsEye", withExtension: "html")
可能会返回零吗?
如果是这样,您应该检查以下两件事:
答案 2 :(得分:0)
以下代码可以帮助您。
func loadHtmlFile() {
if let fileurl = Bundle.main.url(forResource: "BullsEye", withExtension: "html") {
let request = URLRequest(url: fileurl!)
webView.loadRequest(request)
}
}
请参阅 - swiftdeveloperblog
此外,如果代码似乎不适合您,请确保在任何浏览器中打开html文件,并检查它是否为有效的html文件。