0

我正在使用 UIWebView,在我的应用程序的详细视图中,我在 webview 中打开一个 url,并将 webview 嵌入到我的详细视图中(这是一个 uiview)。现在嵌入的 webview 的内容有 web 链接,当点击打开到同一个嵌入的 webview 时,正如预期的那样。

这里我担心的是我想将二级链接(从嵌入式 webview 中单击的链接)打开到另一个自定义 webview 组件中,而不是打开到同一个嵌入式 webview 中。

我尝试实现 UIWebViewDelegate 的以下方法,但我无法达到预期的结果。

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

执行:

{
CustomWebView* iWebView = [[CustomWebView alloc] initWithFrame:CGRectMake(0, 0, webView.frame.size.width, webView.frame.size.height)]; //creating custom webview in same frame
    [iWebView loadRequest:request];//loading the request into custom webview
    [webView addSubview:iWebView]; // adding custom webview overlapping the webview
    return NO; //[stop loading the url into the embedded webview]
}
4

1 回答 1

0

您还需要设置自定义 Web 视图委托:

iWebView.delegate = self;

然后你应该看到请求将首先通过

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 

委托方法。

于 2013-03-25T18:52:17.107 回答