如何在iOS中执行UIWebView
shouldStartLoadingWithRequest
方法后调用函数?
我不想使用performselector:afterdelay
因为在网络较低时可能无法提供准确的结果。
答案 0 :(得分:1)
使用这些方法可能会对你有帮助,
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
return YES;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
//this method will call after successful loading
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
//this method will call after getting any error while loading the web view.
}
答案 1 :(得分:1)
使用webViewDidFinishLoad:
在Web视图完成加载后调用此方法。
- (void)webViewDidFinishLoad:(UIWebView *)webView
<强>参数强>
<强> webView的强>:
Web视图已完成加载。
<强>状况强>
可在iOS 2.0
及更高版本中使用。
答案 2 :(得分:0)
UIWebViewDelegate Protocol
提供了一些可以在您的情况下使用的方法。
在shouldStartLoadWithRequest
之后调用的第一个方法是webViewDidStartLoad:
,就像它的名字所暗示的那样,在WebView
开始加载一个框架后调用。
从你的问题来看,这似乎是最合适的方法。
以前的答案中提供的其他选项是webViewDidFinishLoad:
和webView:didFailLoadWithError:
,每次UIWebView
完成加载帧以及无法加载帧时都会调用它们。
请注意,这意味着在UIWebView
实际完成加载之前,上述所有方法可能会被多次调用,因为只要UIWebView
即将开始,它们就会被抛出,刚刚开始,已完成或未能在页面上加载每个框架。
有关更多详细信息,请参阅UIWebViewDelegate Protocol documentation。