在 Xcode13 中加载 WebView 之前删除白屏?

Remove White Screen Before Loading WebView in Xcode13?

在 iOS 中加载 webview 之前需要删除白屏,尝试过 webview opaque。 即使在添加启动画面和启动画面之后,我仍然在加载 Webview 之前看到白色启动画面 URL。

import UIKit
import WebKit
class HomeViewController: UIViewController, WKUIDelegate {
    
    var webView: WKWebView!
     
    override func loadView() {
        let webConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: webConfiguration)
        webView.uiDelegate = self        
        view = webView
        webView.isOpaque = false
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()

        let webConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: webConfiguration)
        webView.translatesAutoresizingMaskIntoConstraints = false
        let myURL = URL(string:"https://google.com")
        let myRequest = URLRequest(url: myURL!)
        

        
        view.addSubview(webView)
        webView.load(myRequest)

        NSLayoutConstraint.activate([
            webView.topAnchor.constraint(equalTo: view.topAnchor),
            webView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
            webView.leftAnchor.constraint(equalTo: view.leftAnchor),
            webView.rightAnchor.constraint(equalTo: view.rightAnchor)
        ])}
}

你试过去掉webView的背景色吗?

webView.backgroundColor = .clear

你试过了吗

self.webView.scrollView.backgroundColor = .clear

建议可以达到您想要的效果的替代路线:也许您可以引入一个不透明或半透明的视图或子视图来覆盖 web 视图,直到您的内容加载为止。像这样:

一旦您知道您的请求得到了经过验证的响应,您可以有一个删除所述视图的回调?

//Xcode13

webView.isOpaque = false; 
webView.backgroundColor = UIColor.clear;