当我点击UIWebView时,shouldStartLoadWithRequest无法正常工作

时间:2017-07-31 14:51:58

标签: ios objective-c uiwebview uiwebviewdelegate

我已经使用HTML内容实现了UIWebView

UIWebView *webView=[[UIWebView alloc] initWithFrame:subView.frame];
webView.delegate=self;
webView.backgroundColor=[UIColor clearColor];
[webView addSubview:chartWebView];
[webView loadHTMLString:htmlContentString baseURL: [[NSBundle mainBundle] bundleURL]];

当webview加载委托方法时,它工作正常,但是当我点击链接时,不会调用shouldStartLoadWithRequest方法。

我写了如下方法:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{   
  if ([[[request URL] absoluteString] hasPrefix:@"ios:"])
  {
      [self performSelector:@selector(getValuesFromWebToNative)];

      return NO;
  }
  return YES;
}

2 个答案:

答案 0 :(得分:1)

webViewchartWebView设置代理然后尝试,当按下链接时shouldStartLoadWithRequest函数会调用

答案 1 :(得分:-1)

webView有一个子视图chartWebView。如果链接在chartWebView中,则可能不会调用委托方法。我无法从您的代码中获取足够的详细信息。您可以发布更多详细信息。