UIWebView - 加载内容前的白色背景

8 xcode uiwebview ios swift

我有个问题.我有一个菜单,当我点击它时,它将通过UIWebView从URL远程加载内容.

当我尝试模拟器时,在加载内容之前,有一个白色背景,然后加载我的HTML页面(具有深色背景)

演示:

https://s3.amazonaws.com/quickcast/6134/84576/quickcast.gif

当我点击"KALENDER"时你可以看到白色闪光

我该如何解决这个问题?

我的UIWebView看起来像这样:

        let myWebView:UIWebView = UIWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height))
        myWebView.loadRequest(NSURLRequest(URL: NSURL(string: "http://website.com/test.html")!))
        self.view.addSubview(myWebView)
Run Code Online (Sandbox Code Playgroud)

谢谢!

小智 24

所以,我所做的是,补充道:

myWebView.opaque = false
myWebView.backgroundColor = UIColor.clearColor()
Run Code Online (Sandbox Code Playgroud)

在控制器上,我从"查看"中取消选中此项

在此输入图像描述


Nir*_*iya 3

您无法为 webView 设置背景颜色。

您应该尝试以下步骤:

1. 在 vi​​ewDidLoad 中写入以下内容 - 设置委托并隐藏 webView。

webView.delegate = self

webView.hidden = YES
Run Code Online (Sandbox Code Playgroud)

2.编写delegate--shouldStartLoadWithRequest加载开始时隐藏webView。

func webView(webView: UIWebView!, shouldStartLoadWithRequest request: NSURLRequest!, navigationType: UIWebViewNavigationType) -> Bool {
webView.hidden = YES
return true;
}
Run Code Online (Sandbox Code Playgroud)

3.编写delegate--webViewDidFinishLoad加载结束时显示webView。

func webViewDidFinishLoad(webView: UIWebView!) {
webView.hidden = NO
print("Webview did finish load")
}
Run Code Online (Sandbox Code Playgroud)

希望对你有帮助....