在iOS12下,以下代码在WKWebView中显示了透明背景。
但是,在iOS13下,情况不再如此-为什么?以及如何再次实现透明背景?
我尝试了
@IBOutlet weak var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
webView.scrollView.bounces = false
webView.navigationDelegate = self
let body =
"<html>\n" +
"<head>\n" +
"<style>\n" +
"html { margin: 0; }" +
"body { margin: 0; font-family: Avenir-Light; font-size: 41; color: white; background-color: transparent }\n" +
"a, a:active, a:visited, a:hover { color: #FFED00 }\n" +
"</style>\n" +
"</head>\n" +
"<body>\n" +
article.body +
"</body>\n"
"</html>"
webView.loadHTMLString(body, baseURL: nil)
}
添加以下内容无济于事...
webView.isOpaque = false
webView.backgroundColor = .clear
奇怪的是,如果我设置的背景色不是透明的,那么它可以工作:
即通过替换以下内容,我得到了红色背景:
"body { margin: 0; font-family: Avenir-Light; font-size: 41; color: white; background-color: red }\n"
transparent
为什么不起作用? (我也尝试过clear
-但没有成功)
答案 0 :(得分:2)
要重复我的评论作为答案。这是Apple自己的iOS 13错误。他们使用13.1修复了该错误。我在运行13.0的同一设备上复制了它,然后将iOS更新到13.1,问题消失了。无法用代码来解决此问题,只是希望所有用户都已从13.0更新到13.1。