UIWebView可以将事件引发到包含的视图控制器吗?

问题描述:

我有一个嵌入在UIViewController中的UIWebController。
我为UIViewcontroller编写HTML代码,因此我可以完全控制HTML页面。UIWebView可以将事件引发到包含的视图控制器吗?

当用户单击HTML页面中的按钮时,是否可以通知包含UIViewController?

UIWebView可以发送事件给UIViewControler吗?

你需要实现web视图:shouldStartLoadRequest:navigationType:委托方法为您的Web视图(Apple Docs)

这里有一个简单的例子:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 
    NSURL *url = [request URL]; 
    if ([[url scheme] isEqualToString:@"someLinkURL"]) { 

     // Display alert 
     UIAlertView *myAlert = [[UIAlertView alloc] initWithTitle:@"Hello" message:@"I'm a message!" delegate:self cancelButtonTitle:@"Okay!" otherButtonTitles:nil]; 
     [myAlert show]; 
     [myAlert release]; 
     return NO; 
    } 
    return YES; 
}

你的VC必须是此方法将webViewDelegate

如果您想手动处理所有点击(即不要转到网络视图中的其他页面),请在最后一行返回NO。