在显示UIWebView之前加载UIWebView的内容

Con*_*ons 6 iphone uiwebview

我的应用程序中有一定数量的ViewControllers.它们在应用程序启动时分配和初始化,并在退出时释放.它们被NavigationController用于推送/弹出.在这些ViewControllers中有WebViews(实际上没有别的东西).

我的问题是:当我想要更改当前TopViewController上没有的WebView的内容(URL)时,直到我按下/弹出相关的ViewController才会加载内容.

过渡我们"丑陋".在ViewController处于完整视图之前,推送/弹出的Viewcontroller最坏地显示旧内容或最坏的空白页面然后显示新内容.

我尝试了很多东西(甚至把"loadRequest"放在一个看起来很愚蠢的不同线程中).

你知道如何让事情顺利进行吗?

Chr*_*ett 0

一般来说,您应该针对缓慢的 UIWebView 加载来规划您的 UI,因为您无法提前计划知道需要多长时间。我经常做的是有一个 UIView,它有一个微调器和一条消息,例如“正在加载...”,该消息位于 UIWebView 之上。我的使用方法如下:

在 viewWillAppear 中:我取消隐藏加载视图并启动微调器。

在 webViewDidFinishLoad 中,我隐藏了加载视图。

如果 webViewDidFail 被调用,那么在页面加载时您不会显示一些临时或无效的内容。在这种情况下,您可以呈现一个 UIAlertView。

如果您好奇,您可以在我的游戏的高分页面中看到这一点(Lexitect,免费)

  • 加载时间并没有那么长,因为我加载的URL是本地文件。我真正想要的是能够预加载数据,因为从我个人的经验来看,只要 WebView 没有显示在屏幕上,它就永远不会被加载,即使我发出并重复请求,如果我要求重新加载或刷新,或重绘视图。加载总是延迟,这是我试图解决的问题的核心。 (2认同)