shouldStartLoadWithRequest n'est jamais appelé
J'ai étudié et documenté et ne comprends toujours pas pourquoi shouldStartLoadWithRequest n'est jamais appelée. Ma page charge très bien et certains de la UIWebview délégué protocole méthodes sont appelées. Veuillez trouver des extraits de mon code ci-dessous:
Synthétiser mon webview dans mon .m (définis dans un fichier d'en-tête):
@implementation PortViewController
@synthesize WebView = myWebView;
Je charge mon webview avec succès:
myURLString = [NSString stringWithFormat:@"https://%@", defaultWebsite];
myURL = [NSURL URLWithString: myURLString];
NSURLRequest *myRequest = [NSURLRequest requestWithURL:myURL];
[myWebView loadRequest:myRequest];
ensemble de mon délégué à l'auto
- (void)viewDidLoad
{
[super viewDidLoad];
[myWebView setOpaque:NO];
[myWebView setBackgroundColor:[UIColor clearColor]];
//myWebView.description.
myWebView.delegate = self;
}
tous mes protocole méthodes sont appelées à l'EXCEPTION de shouldStartLoadWithRequest
- (void)webViewDidStartLoad:(UIWebView *)myWebView {
[activityIndicator startAnimating];
}
- (void)webViewDidFinishLoad:(UIWebView *)myWebView {
[activityIndicator stopAnimating];
}
- (BOOL)WebView:(UIWebView *)myWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@"inside Webview");
if([[request.URL absoluteString] hasPrefix:@"http://www.nzx"]) {
//do stuff
NSLog(@"Have caught the prefix");
return YES;
}
return NO;
}
Merci d'avance.
Est-ce une faute de frappe ou vous avez réellement mis en œuvre incorrecte de la méthode de
WebView:shouldStartLoadWithRequest:navigationType:
? Le W
doivent être d'un petit cas webView
.OriginalL'auteur user2720747 | 2013-08-27
Vous devez vous connecter pour publier un commentaire.
Essayer de régler le délégué dans ViewWillAppear au lieu de ViewDidLoad
et comprennent la webview délégué dans votre interface de PortViewController.m fichier
Il devrait fonctionner.
OriginalL'auteur Mani Kandan
délégué de la méthode doit être:
Et si vous avez
UIWebView
dans xib, alors probablement que vous tentez de charger la demande lors de laUIWebView
est nulDonc, assurez-vous que votre myWebView instance existe.
c'est pourquoi "l'auto-complétion". Du moment où vous avez déclaré votre classe prend en charge un protocole < someDelegate >, vous êtes en mesure de simplement taper méthodes d'auto-complétion pour que délégué
OriginalL'auteur Injectios