webViewDidFinishLoad确实完成了加载,但没有完成在屏幕上显示内容

时间:2013-04-14 10:00:40

标签: ios objective-c cocoa-touch cocoa uiwebview

我在我的应用中经常使用webViewDidFinishLoad,而UIWebView的某些内容确实让我感到烦恼,实际上是两件事。 第一个,当我将新内容加载到UIWebView时,我会看到加载到同一个UIWebView的最后一页的半秒钟,这将迫使我去清理" UIWebView使用类似的内容:

[_mainWebView stringByEvaluatingJavaScriptFromString:@"document.open();document.close();"];

在加载新内容之前。

我遇到的第二个问题是这个问题的主要问题是,如果我将一些新内容加载到我的UIWebView并执行以下操作:

[_mainWebView loadHTMLString:htmlString baseURL:nil];
...
    - (void)webViewDidFinishLoad:(UIWebView *)webView {
            _mainWebView.alpha = 1;
    }

在某些情况下,UIWebView会在显示内容之前显示白色半秒。我猜测内容已经加载到UIWebView中,这就是webViewDidFinishLoad:webView被解雇的原因,但是对于显示内容的小html页面来说比实际加载更加孤独。是否有任何解决方法我可以使用以避免显示一秒左右的空白屏幕,但仍然保存第二个?

我想过将alpha从0设置为1,但这个解决方案对我来说有点蹩脚。

1 个答案:

答案 0 :(得分:0)

尝试添加javascript回调,以便了解网页视图内容何时实际加载:Javascript in UIWebView callback to C/Objective-C