【问题标题】:Can a UIWebView raise events to the containing view controller?UIWebView 可以向包含的视图控制器引发事件吗?
【发布时间】:2010-08-28 09:22:00
【问题描述】:

我在 UIViewController 中嵌入了一个 UIWebController。
我为 UIViewcontroller 编写 HTML 代码,因此我可以完全控制 HTML 页面。

当用户单击 HTML 页面中的按钮时 - 可以通知包含 UIViewController 的内容吗?

UIWebView 可以向 UIViewControler 发送/引发事件吗?

【问题讨论】:

    标签: iphone-sdk-3.0 uiviewcontroller uiwebview


    【解决方案1】:

    您需要为您的 Web 视图实现 webView:shouldStartLoadRequest:navigationType: 委托方法 (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 才能使此方法起作用。

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

    【讨论】:

      猜你喜欢
      • 2015-05-18
      • 2013-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 2015-06-13
      • 1970-01-01
      相关资源
      最近更新 更多