【问题标题】:WK WebView calling completion handler but now showing anythingWKWebView 调用完成处理程序但不显示任何内容
【发布时间】:2019-03-25 06:11:03
【问题描述】:

我想从服务器加载隐私政策(简单字符串),例如 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,但没有运气。

【问题讨论】:

  • 您的URL 正在浏览器中工作?
  • 是的,它的工作原理
  • @kinza 你能告诉我为什么你直接从情节提要中添加 contentView 和 webView 作为子视图。
  • 试试这个stackoverflow.com/a/52252357/10150796它工作正常
  • @NikunjKumbhani 我试过上面的链接但没有效果。

标签: ios swift wkwebview


【解决方案1】:

您忘记为您的WKWebView 添加frame

只需添加

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

之后

webView = WKWebView()

它会正常工作的。

【讨论】:

  • 哦,非常感谢。这就是我喜欢从故事板添加视图的原因:D
猜你喜欢
  • 1970-01-01
  • 2013-06-11
  • 1970-01-01
  • 1970-01-01
  • 2021-09-30
  • 2012-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多