【问题标题】:UIWebView - white background before loading contentUIWebView - 加载内容前的白色背景
【发布时间】:2015-03-12 11:56:03
【问题描述】:

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

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

演示:

当我点击“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)

谢谢!

【问题讨论】:

  • 你把 UIWebView 背景设置为黑色还是你想要的颜色??

标签: ios xcode swift uiwebview


【解决方案1】:

所以,我所做的是,添加:

myWebView.opaque = false
myWebView.backgroundColor = UIColor.clearColor()

在控制器处,我从“视图”中取消选中它

【讨论】:

  • 您只需将 clearColor 应用于 backgroundColor 并取消选中 Storyboard 中的 Opaque all !
【解决方案2】:

您不能为 webView 设置背景颜色。

您应该尝试以下步骤:

1.在您的 viewDidLoad 中写入以下内容 - 设置委托和隐藏 webView。

webView.delegate = self

webView.hidden = YES

2。编写委托 - shouldStartLoadWithRequest - 加载开始时隐藏 webView。

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

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

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

希望这对你有帮助....

【讨论】:

  • 感谢您的宝贵时间,但没有成功。我不一样。
  • “WKWebView”类型的值没有成员“委托”
【解决方案3】:

您可以加载您自己的 html 文档,该文档使用您需要的颜色。

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    let htmlString = "<html><body bgcolor=\"#ABCDEF\"></body></html>"
    webView.loadHTMLString(htmlString, baseURL: nil)
}

【讨论】:

  • 它不起作用,因为 loadHTMLString() 也需要一小段时间才能加载。
猜你喜欢
  • 1970-01-01
  • 2014-09-21
  • 1970-01-01
  • 1970-01-01
  • 2015-06-11
  • 1970-01-01
  • 2011-01-30
  • 1970-01-01
  • 2011-11-17
相关资源
最近更新 更多