web-dev-qa-db-ja.com

WKWebViewに色付きの背景を与えるにはどうすればよいですか

私は、背景がほとんど暗いさまざまなhtmlファイルを読み込むアプリで作業しています。現在、あるページから別のページに移動するときに小さな白いフラッシュが表示されます。これは、次のページがまだ読み込まれていないためと考えられます。そのフラッシュを取り除きたいので、最も簡単な方法はWebViewに背景色を与えることだと思いました。

WebViewとその内部のscrollViewの色を設定しようとしましたが、うまくいかないようです。

self.webView?.backgroundColor = UIColor.blackColor()
self.webView?.scrollView.backgroundColor = UIColor.blackColor()

ビューが最初に読み込まれたときに色が点滅しますが、その後のナビゲーションでは表示されません。

22
chicken

暗い背景で「白いフラッシュ」を停止するには、次の操作を行います

webView.opaque = false

これは実際には背景色の問題を解決しませんが、少なくとも経験している「白いフラッシュ」を止めます。どうやらHTMLをロードする前にWKWebViewの背景色を変更する方法がないようです。

Swift 4

webView.isOpaque = false
76
user5865651
self.webView = WKWebView()
self.webView.backgroundColor = UIColor(red:0.11, green:0.13, blue:0.19, alpha:1)
self.webView.scrollView.backgroundColor = UIColor(red:0.11, green:0.13, blue:0.19, alpha:1)

WKWebViewはオプションであるため、初期化しないことを忘れないでください。

18
BilalReffas

SoryboardのWKWebViewをクリックし、属性インスペクターパネルから優先Background色を選択します。

次に、_content.isOpaque = false_を入れます。たとえば、WKWebViewviewDidLoad()にロードされます。

_@IBOutlet weak var content: WKWebView!
...
content.isOpaque = false
_
7
Tomáš Pánik

1つのプロジェクトで読み込み要求を行ったときに、WKWebViewを非表示にしていました。

webView.isHidden = true
webView.load(req)

ロードが完了したら、webViewを再び表示するように設定しました。

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
       videoView.isHidden = false
}

func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
        activityIndicator.stopAnimating()
        videoView.isHidden = false
}
5
Tommi Kivimäki