【发布时间】:2012-12-04 01:13:24
【问题描述】:
我有一个视图控制器,我正在拦截它管理的 Web 视图中链接的触摸。
我的主视图控制器有这个方法。
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
//I can see this request come in upon a touch
NSURL *url = request.URL;
NSString *urlString = url.absoluteString;
NSLog(@"raw: %@", urlString);
//do some stuff (like figure out what capturedFilename is)
ExplainViewController *explanation = [[ExplainViewController alloc] initWithNibName:@"ExplainViewController" bundle:nil file:capturedFilename];
[self.navigationController presentModalViewController:explanation animated:YES];
}
这会正确加载模态视图。
ExplainViewController 本身有一个 webView。 当用户触摸 ExplainViewConroller 中的链接时,我也想处理该请求(并呈现另一个模式视图)。
ExplainViewController 有这个,但我没有从任何一种方法(以下或上一个)中获得日志活动:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *url = request.URL;
NSString *urlString = url.absoluteString;
NSLog(@"raw: %@", urlString);
}
我想知道这个链接触摸请求的去向以及如何拦截它。
提到的两个视图控制器都在他们的 .h
<UIWebViewDelegate>
【问题讨论】: