macOS WKWebView 背景透明度
Posted
技术标签:
【中文标题】macOS WKWebView 背景透明度【英文标题】:macOS WKWebView background transparency 【发布时间】:2016-10-12 20:27:14 【问题描述】:如果有人对WKWebView
有经验,请分享如何使视图的背景透明。 WebView
对象通过 var drawsBackground: Bool get set
具有这样的选项,但 WKWebView
类缺少它。我在网上搜索并..一无所获。在时间之前,可以通过opaque
属性这样做,但现在不行了。有一个吸气剂isOpaque
...就是这样。我不想通过 CSS 做到这一点,并且已经尝试过其他所有方法,例如:
webview.wantsLayer = true
webview.layer?.backgroundColor = NSColor.clear.cgColor
如果有人可以帮忙...
我。尼科洛夫
【问题讨论】:
Transparent background WKWebView (NSView)的可能重复 不是重复的。我已经尝试了那里写的所有东西-它不再起作用了。我已经在问题中描述了这一点。 请不要在您的问题中包含答案。如果答案解决了您的问题,请将答案标记为已接受;如果您认为它对其他用户有帮助,您也可以发布自己的答案。谢谢。 【参考方案1】:这应该适用于 macOS 10.11 和 macOS 10.12:
if NSAppKitVersion.current.rawValue > 1500
webView.setValue(false, forKey: "drawsBackground")
else
webView.setValue(true, forKey: "drawsTransparentBackground")
备注:已通过 App Store 审核。
【讨论】:
让我试试看。能通过审核吗?有这方面的经验吗? 好的。这是工作。我不确定这是否会通过审核,但我会试一试,并将您的答案标记为正确。谢谢你的帮助;-) 我已经提交了一份反馈助理报告:github.com/feedback-assistant/reports/issues/81如果你也想看到这个得到官方支持,请复制这个报告。 从 ~ios14 开始,drawsTransparentBackground
已被弃用,不应再使用(尽管没有真正的替代品)【参考方案2】:
您的网页也应该有透明背景。
【讨论】:
如果我调用webview.setValue(true, forKey: "drawsTransparentBackground")
,它会变得透明,但在控制台中有一条消息:[WKWebView _setDrawsTransparentBackground:] is deprecated and should not be used.
。问题不在于网页不透明。
@IvayloNikolov:这是 macOS 10.11 中的正确方法。作为您问题的一部分,macOS 10.12 中的弃用应该是真正的问题。
是的 - 完全正确。你是对的。还是找不到答案。以上是关于macOS WKWebView 背景透明度的主要内容,如果未能解决你的问题,请参考以下文章