我有一个应用程序,它将webview添加为主UIViewController的子视图。我想拦截在此webview中单击的链接,并在新的UIViewController中打开它们(作为模态视图或navigationController)。 对于这个新的UIViewController,我正在使用https://github.com/samvermette/SVWebViewController这是一个内联浏览器类,并且运行良好。
我能够在webView中拦截来自该webview的点击:shouldStartLoadWithRequest:navigationType。但我的问题是它无法打开新的UIViewController(SVWebViewController)。以下是拦截webView中的点击并打开它的代码:
- (BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
if(inType == UIWebViewNavigationTypeLinkClicked) {
NSURL *url = [inRequest URL];
NSString *fname = [url absoluteString];
SVWebViewController *webViewController = [[SVWebViewController alloc] initWithAddress:fname];
[self presentModalViewController:webViewController animated:YES];
[webViewController release];
return NO;
}
return YES;
}
在SVWebViewController中没有问题,当我从主UIView调用它时它可以正常工作,但是当我用它来打开来自webView的点击时它没有。
感谢您的帮助!!