iOS 6 UIWebView委托方法

时间:2012-09-24 23:29:00

标签: uiwebview ios6 uiwebviewdelegate

我有一个UIWebView,用于加载托管在远程服务器上的页面。在文档就绪时,它会向服务器发出异步jQuery.ajax请求,以使用从服务器返回的值列表填充下拉列表。

在加载页面并执行此请求时,我有一个半透明的UIView和覆盖UIWebView的UIActivityIndi​​cator。我已经实现了webViewDidFinishLoad委托方法,该方法删除了加载视图。

  • 在iOS 4/5中,在异步请求完成后执行此委托方法。这就是我想要的行为。
  • 在iOS 6中,此委托方法在异步请求完成之前执行,加载视图过早消失。

有谁知道这是否是故意的。有任何想法如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

我得出的结论是,这是一次故意改变。从本质上讲,从iOS 6开始,webkit以异步方式绘制其内容:

http://developer.apple.com/library/ios/#releasenotes/General/RN-iOSSDK-6_0/_index.html#//apple_ref/doc/uid/TP40012166-CH1-SW13

因此,文档加载上的异步请求将是真正异步的。在执行此请求时,将通知UIWebView的委托文档已完全加载。在iOS 6之前,此通知将在异步请求完成后执行。因此请求并非真正异步。

Fergal。