UIWebView
shouldStartLoadingWithRequest
在iOS中方法执行完成后如何调用函数?
我不想使用performselector:afterdelay
,因为在网络低时可能无法给出准确的结果。
UIWebView
shouldStartLoadingWithRequest
在iOS中方法执行完成后如何调用函数?
我不想使用performselector:afterdelay
,因为在网络低时可能无法给出准确的结果。
使用这些方法可能对你有帮助,
- (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.
}
在webViewDidFinishLoad:
Web 视图完成加载后调用此方法。
- (void)webViewDidFinishLoad:(UIWebView *)webView
参数
webView:
Web 视图已完成加载。
可用性
在iOS 2.0
及以后可用。
UIWebViewDelegate Protocol
提供了一些可以在您的情况下使用的方法。
shouldStartLoadWithRequest
之后调用的第一个方法webViewDidStartLoad:
,就像它的名字所暗示的那样,一旦WebView
开始加载框架就会被调用。从你的问题来看,这似乎是最合适的方法。
之前的答案中提供的其他选项分别在每次完成加载帧和加载帧失败时webViewDidFinishLoad:
分别webView:didFailLoadWithError:
调用。UIWebView
请注意,这意味着在实际完成加载之前,可能会多次调用上述所有方法UIWebView
,因为无论何时将UIWebView
要启动、刚刚启动、已完成或加载页面上的每个帧失败,都会抛出它们。
有关更多详细信息,请参阅UIWebViewDelegate 协议文档。