首页 > 解决方案 > WK WebView 调用完成处理程序,但现在显示任何内容

问题描述

我想从服务器加载隐私策略(简单字符串),例如https://*****.com/privacy-policy.html到我的应用程序。

我到目前为止所尝试的内容如下:

class TermsAndConditionsDetailViewController: UIViewController, WKNavigationDelegate {
    @IBOutlet weak var contentView: UIView!
    var webView: WKWebView!

    func webView(_ webView: WKWebView,
                 didFinish navigation: WKNavigation!) {
        print("loaded")
    }
    override func viewDidLoad() {
    super.viewDidLoad()

        webView = WKWebView()
        contentView.addSubview(webView)
        let myURL = URL(string: "https://***.com/privacy-policy.html")
        let myRequest = URLRequest(url: myURL!)
        webView.navigationDelegate = self

        //I have tried these both one by one
        webView.loadHTMLString("", baseURL: myURL)
        webView.load(myRequest)
     } 
}

当我运行此代码时,“已加载”会在 2-3 秒后打印出来,但它不会在屏幕上显示任何内容。我一直在搜索这个问题一段时间,并尝试使用代码。我已经交叉检查了所有视图的约束,特别是 contentView,但没有运气。

标签: iosswiftwkwebview

解决方案


您忘记添加frame您的WKWebView

只需添加

webView = WKWebView(frame: self.contentView.frame)

webView = WKWebView()

它会正常工作。


推荐阅读