将uiwebview中的链接加载到自定义的Webview中

时间:2013-03-25 18:49:01

标签: ios uiwebview uiwebviewdelegate

我正在使用UIWebView,在我的应用程序的详细视图中,我将一个URL打开到webview中,并将webview嵌入到我的详细视图中(这是一个uiview)。现在,嵌入式webview的内容具有Web链接,点击后可以打开到相同的嵌入式Web视图中,这应该是预期的。

我在此担心的是,我想打开二级链接(从嵌入式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]
}

1 个答案:

答案 0 :(得分:0)

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

iWebView.delegate = self;

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

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

委托方法。