哪个UIWebView有加载请求?

时间:2011-10-06 00:24:00

标签: iphone xcode uiwebview shouldstartload

所以我的类有两个不同的UIWebView对象(一个是菜单,另一个是内容)。我们称它们为UIWebView“A”和UIWebView“B”

在我的shouldStartLoadWithRequest中,我如何确定从哪个UIWebView调用链接? 是“A”还是“B”? 我想我可以检查一个属性,如“标题”或“名称”,所以我查看了文档,但没有这样的运气。

我正在寻找类似的东西......

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@"WebView is... %@",[webView title]);
}

如果我记录整个webView,我会得到一个大的哈希,但没有引用我在IBOutlet中给出的原始名称。希望这是有道理的。

此外,有人可以指出我如何在文档中找到这种属性,因为它似乎是我想要做的非常基本的事情。

1 个答案:

答案 0 :(得分:1)

您可以测试传递给该方法的webView参数是否等于您声明的ivars。

例如,如果IBOutlets的ivars名为webViewAwebViewB

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    if (webView == webViewA)
        NSLog(@"webview A wants to load %@", request);
    else
        if (webView == webViewB)
            NSLog(@"webview B wants to load %@", request);
        else
            NSLog(@"some other webview wants to load %@", request);

    return YES;
}

或者,您也可以将IB或代码中每个Web视图的tag属性设置为某些非零值(例如10和20),并检查委托中webView.tag的值方法