在 Apple 的 WebKit 框架中,已完成资源加载的 WebView 会向其 frameLoadDelegate
发送一条 webView:didFinishLoadForFrame:
消息。不过,这只是表示资源已加载,并不表示渲染完成……如何检测WebView渲染完成?在 WebView
的所有委托(delegate)中,我找不到具有我需要的方法的委托(delegate)......
最佳答案
我还希望找到委托(delegate)方法中的所有内容,也尝试使用资源加载方法,计算加载的开始和结束,但这也不可靠。 stackoverflow 上的答案没有对我有帮助,但 Apple 开发论坛上的某人指出了似乎是答案的内容。
WebView 还发布通知 WebViewProgressStartedNotification、WebViewProgressEstimateChangedNotification 和最相关的 WebViewProgressFinishedNotification。在我的代码中,我观察通知,然后确保我在下一个运行循环上调用完成的方法,即。与 [self PerformSelector:..withDelay:0] 或dispatch_async。
关于cocoa - 如何知道 WebView 何时完成渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12120772/