Je vois le message suivant et aucune page web lorsque j'essaie de charger une URL valide :
delegate (webView:decidePolicyForNavigationAction:request:frame:decisionListener:)
n'a pas réussi à revenir après 10 secondes d'attente. mode de boucle d'exécution principale : kCFRunLoopDefaultMode
Quelqu'un peut-il m'aider ?
Utilisation : iPad 2 sous iOS 4.x
Commentaire : Il semble fonctionner correctement sous iOS 5.x.
Code utilisé :
newsWebView=[[UIWebView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.bounds.size.width, self.view.bounds.size.height-50.0-adHeight)];
newsWebView.dataDetectorTypes = UIDataDetectorTypeAll;
newsWebView.backgroundColor=[UIColor blackColor];
[newsWebView setScalesPageToFit:YES];
[self.view addSubview:newsWebView];
newsWebView.delegate=self;
[self webViewLoadRequest];
- (void)webViewLoadRequest
{
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[newsWebView loadRequest:requestObj];
}
//Delegate
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
return YES;
}
- (void)webViewDidStartLoad:(UIWebView *)webView {
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGFloat scale=newsWebView.contentScaleFactor;
NSString *jsCommand = [NSString stringWithFormat:@"document.body.style.zoom = %f;",scale];
[newsWebView stringByEvaluatingJavaScriptFromString:jsCommand];
[rightButton setEnabled:YES];
if(titleStatus==1){
self.title=[newsWebView stringByEvaluatingJavaScriptFromString:@"document.title"];
}
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
if (error.code == 101) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Cannot Open Page"
message:[error localizedDescription] delegate:nil
cancelButtonTitle:@"Dismiss" otherButtonTitles:nil];
[alert show];
[alert release];
} else if (error.code == -1003) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Cannot Open Page"
message:@"Server cannot be found." delegate:nil
cancelButtonTitle:@"Dismiss" otherButtonTitles:nil];
[alert show];
[alert release];
} else if (error.code == -1009) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Cannot Open Page"
message:@"No network connection." delegate:nil
cancelButtonTitle:@"Dismiss" otherButtonTitles:nil];
[alert show];
[alert release];
} else if (error.code == -999) {
// user probably stopped the web loading
} else {
NSLog(@"Error: %@", error.description);
}
}