2016-10-12 9 views
0

誰かがWKWebViewの経験がある場合は、その背景を透明にする方法を共有してください。 WebViewオブジェクトはvar drawsBackground: Bool { get set }でこのようなオプションを持ちますが、WKWebViewクラスでは欠落しています。私はネットを検索し、何も見つかりませんでした。時間の前に、それはopaqueプロパティを介して行うことは可能でしたが、もはやそれはできませんでした。ゲッターisOpaque ...があります。それだけです。私はCSSを経由して、それをやりたいと、既に他のすべてを試みたが、好きではない:macOS WKWebView背景の透明度

webview.wantsLayer =真

webview.layer .backgroundColor = NSColor.clear.cgColor

誰かが助けることができたら...

I.ニコロフ

+0

[透過的な背景WKWebView(NSView)]の複製が可能です。(http://stackoverflow.com/questions/27211561/transparent-background-wkwebview-nsview) –

+0

重複していません。私はそこに書かれたすべてのものを試しました - それはもう働きません。そして、私はこれについての質問に答えました。 –

+0

質問に答えを含めないでください。回答があなたの問題を解決した場合は、回答を受け入れたものとしてマークしてください。他のユーザーに役立つと思われる場合は、自分の回答を投稿することもできます。ありがとうございました。 – Moritz

答えて

2

これは、両方のMacOS 10.11とMacOSの10.12のために働く必要があります。

if NSAppKitVersion.current.rawValue > 1500 { 
    webView.setValue(false, forKey: "drawsBackground") 
} 
else { 
    webView.setValue(true, forKey: "drawsTransparentBackground") 
} 

備考:これはApp Storeのレビューで可決されました。

+0

私はそれを試してみましょう。レビューに合格しますか?これに関する経験はありますか? –

+0

OK。それは働いている。私はこのレビューに合格するかどうかはわかりませんが、試してみて、あなたの答えを正しいものとしてマークします。助けてくれてありがとうございます;-) –

+0

エルキャピタンではうまくいきません...あなたは知っています... –

0

あなたのウェブページには、同様に透明な背景を持つ必要があります。

+0

'webview.setValue(true、forKey:" drawsTransparentBackground ")'を呼び出すと透明になりますが、コンソールには '[WKWebView _setDrawsTransparentBackground:]は推奨されていないので、使用しないでください。この問題は、ウェブページが透明ではないということではありません。 –

+0

@IvayloNikolov:これはmacOS 10.11の正しい方法でした。あなたの質問の一部として、macOS 10.12の廃止予定が本当の問題であるべきです。 – Ely

+0

はい - 正確です。あなたは正しいです。まだ答えを見つけることができません。 –