WKWebView的透明背景

在我的应用程序中,我希望使WKWebView具有透明背景,所以背后(一个ImageView)的视图可以作为背景图片显示。

webView!.opaque = false webView!.backgroundColor = UIColor.clearColor() 

上面的代码与UIWebView工作正常,但如果webView是WKWebView,将显示一个白色背景。

也尝试在CSS中放置透明背景颜色。 结果是一样的,只能在UIWebView中使用,而不能在WKWebView中使用。 任何build议?

对于使用Swift的iOS 10+:

 self.webView = WKWebView() self.webView!.isOpaque = false self.webView!.backgroundColor = UIColor.clear self.webView!.scrollView.backgroundColor = UIColor.clear 

这个错误似乎在Beta 5中得到了修复。

此代码可能会帮助你。 更新了Swift 3+

 self.webView = WKWebView() self.webView.isOpaque = false self.webView.backgroundColor = UIColor.clear self.webView.scrollView.backgroundColor = UIColor.clear 

下面的代码适用于我:

  [wkWebView setValue:YES forKey:@"drawsTransparentBackground"]; 

还没有与WKWebView工作,但即使UIWebView曾经有这个问题,解决scheme是包装的内容像这样的HTML内容:

 <body style="background-color:transparent;"></body> 

希望能帮助到你。

我知道这是一个非常古老的问题。 但是我今天一直在挣扎。 我不知道是否只是我,但是在WKWebView中未定义webView.backgroundColor,而webView.opaque是只读的。 解决这个问题的唯一方法是将web views图层的背景色设置为CGColor clear

 webview.wantsLayer = true webView.layer?.backgroundColor = NSColor.clearColor().CGColor 

和包含NSView的方式一样

 webViewParent.layer?.backgroundColor = NSColor.clearColor().CGColor 

这是我唯一的工作,我希望它可以帮助别人。