当WKWebView显示内容时,它将为白色约1~2秒

时间:2017-07-11 01:28:53

标签: ios uiwebview wkwebview

当WKWebView显示内容时,它将为白色约1~2秒。不是内存问题,我使用[self loadHTMLString:string baseURL:baseURL];显示HTML内容,但每次需要等待1~2秒才会正常显示。 UIWebview没有这个问题。

有什么办法可以解决吗?或者优化这个空白时间?

1 个答案:

答案 0 :(得分:0)

有时需要一段时间才能通过网络加载页面。页面为白色,直到可以加载数据。一个简单的解决方案是尽早发出load()命令。在它需要被调用之前。我期待下一页,但在需要之前不要显示它。当它需要时,它已经加载,我只需要添加它:

webView.alpha = 0

我根据自己的需要使用两种不同的方法:我要么提前加载视图并将alpha更改为0,所以它是不可见的:

func removeWebView(_: UITapGestureRecognizer) {
    print("removewebview tap")
    webView.removeFromSuperview()
}

当然,我希望它显示时将其更改为1.0。

或者我从superview中删除了web视图(它需要是一个类属性才能保留),如下所示:

sort -k1,2 file.txt | awk -F', *' '{print > ("out" $2)}'

如果您遵循这种方法,则需要调用一个方法来添加子视图(Web视图),如果您使用自动布局,则需要重新应用约束,因为当您从中移除Web视图时它们会丢失超级视图。如果这样做,请不要忘记在父视图上调用.setNeedsLayout()。