Я исследовал и исследовал и до сих пор не понимаю, почему shouldStartLoadWithRequest никогда не вызывается. Моя страница загружается отлично, и вызываются некоторые из методов протокола делегатов UIWebview. Вы можете найти соответствующие фрагменты из моего кода ниже:shouldStartLoadWithRequest никогда не называется
обобщать мой WebView в моей .m (определенный в заголовочном файле):
@implementation PortViewController
@synthesize WebView = myWebView;
я загрузить мой WebView успешно:
myURLString = [NSString stringWithFormat:@"https://%@", defaultWebsite];
myURL = [NSURL URLWithString: myURLString];
NSURLRequest *myRequest = [NSURLRequest requestWithURL:myURL];
[myWebView loadRequest:myRequest];
установить мой делегат самостоятельно
- (void)viewDidLoad
{
[super viewDidLoad];
[myWebView setOpaque:NO];
[myWebView setBackgroundColor:[UIColor clearColor]];
//myWebView.description.
myWebView.delegate = self;
}
все мои методы протокола называются EXCEPT shouldStartLoadW ithRequest
- (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;
}
Заранее спасибо.
Это опечатка, или вы на самом деле реализовали неверный метод 'WebView: shouldStartLoadWithRequest: navigationType:'? 'W' должен быть маленьким регистром' webView'. – Amar