我尝试将包含iframe的HTML字符串加载到UIWebview
视图占用内容的空间但是它加载完全空白视图这里是HTML
<html>
<head>
<meta http-equiv='Content-Type' content='charset=utf-8'/>
<style>
iframe{max-width:100% !important}
</style>
</head>
<body>
<p dir="RTL"> <iframe allowfullscreen="" frameborder="0" height="573" id="molvideoplayer" scrolling="no" src="http://www.dailymail.co.uk/embed/video/1411595.html" title="MailOnline Embed Player" width="698"></iframe> </p>
</body>
</html>
&#13;
我的代码是
self.newsBodyWebView.loadHTMLString(htmlString, baseURL: nil)
我还尝试了UIWebView委托功能
func webView(_ webView: UIWebView, didFailLoadWithError error: Error) {
print(error.localizedDescription)
}
我收到了这个错误
无法完成操作。 (NSURLErrorDomain错误-999。)
我搜索了错误,但没有任何帮助。
当我删除iframe并编写任何其他HTML时,UIWebView运行良好。
我不知道我的代码有什么问题
修改
当我按任意按钮在容器视图中进行更改时,webview再次出现,我很困惑为什么会发生这种情况!
答案 0 :(得分:2)
我终于明白了,webview结束后以这种方式启动了web视图高度
func webViewDidFinishLoad(_ webView: UIWebView) {
webView.frame.size.height = 1
self.webViewHeight = webView.sizeThatFits(CGSize.zero)
}
我将此更改为
func webViewDidFinishLoad(_ webView: UIWebView) {
webView.frame.size.height = 1
let height = webView.scrollView.contentSize.height
var wvRect = webView.frame
wvRect.size.height = height
webView.frame = wvRect
}
现在每件事情都很好。