我正在使用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]
}
答案 0 :(得分:0)
您还需要设置自定义Web视图委托:
iWebView.delegate = self;
然后您应该看到请求将首先通过
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
委托方法。