Я почти уверен, что понимаю, как поймать щелчок по UIWebView с помощью метода webView: shouldStartLoadWithRequest: navigationType :, но мой webView даже не позволяет мне щелкнуть ссылку. Я использую:
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(12, top, boundsSize.width - 40.0, 400.0f)];
webView.delegate = self;
webView.backgroundColor = [UIColor clearColor];
webView.opaque = NO;
webView.allowsInlineMediaPlayback = YES;
webView.dataDetectorTypes = UIDataDetectorTypeAll;
// add to subview
Я загружаю строку HTML, а не URL:
[webView loadHTMLString:bodyHTML baseURL:nil];
Метод делегата:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@"Loaded");
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSURL *url = request.URL;
NSString *urlString = url.absoluteString;
NSLog(urlString);
}
return YES;
}//end
Каждый раз, когда мой веб-просмотр загружается, я получаю сообщение «Загружено» в моих журналах, поэтому я знаю, что делегат вызывается метод. Но я никогда не могу щелкнуть ссылку в моем UIWebView, и что-нибудь произойдет. Даже не похоже, что он разрешает нажатое состояние на ссылке. Ссылка выделена как ссылка, просто не позволяет щелкнуть.
Идеи?