shouldStartLoadWithRequest wird nie aufgerufen
Ich habe recherchiert und recherchiert und immer noch nicht verstehen, warum shouldStartLoadWithRequest wird nie aufgerufen. Meine Seite lädt feine und einige der UIWebview delegate-Protokoll-Methoden aufgerufen werden. Bitte finden Sie die relevanten Auszüge aus meinem code unten:
Synthetisieren mein webview in meiner .m (definiert in der header-Datei):
@implementation PortViewController
@synthesize WebView = myWebView;
Lade ich meine webview erfolgreich:
myURLString = [NSString stringWithFormat:@"https://%@", defaultWebsite];
myURL = [NSURL URLWithString: myURLString];
NSURLRequest *myRequest = [NSURLRequest requestWithURL:myURL];
[myWebView loadRequest:myRequest];
meine delegieren, um selbst
- (void)viewDidLoad
{
[super viewDidLoad];
[myWebView setOpaque:NO];
[myWebView setBackgroundColor:[UIColor clearColor]];
//myWebView.description.
myWebView.delegate = self;
}
alle meine Protokoll-Methoden aufgerufen werden, AUßER 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;
}
Vielen Dank im Voraus.
- Ist es ein Tippfehler oder Sie haben tatsächlich implementiert falsche Methode
WebView:shouldStartLoadWithRequest:navigationType:
? DieW
sollte klein sein FallwebView
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie, die Delegierten in ViewWillAppear statt ViewDidLoad
beinhalten und die webview-Delegierten, der in der Schnittstelle von PortViewController.m-Datei
Sollte es funktionieren.
delegieren Methode:
Und wenn Sie haben
UIWebView
im xib, dann Sie wahrscheinlich versuchen zu laden, Anfrage bei derUIWebView
ist nullSo stellen Sie sicher, dass Ihre myWebView-Instanz vorhanden ist.