哪个UIWebView有加载请求



所以我的类有两个不同的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中给它的原始名称。希望这对你有意义。

还有,有没有人能告诉我如何在文档中找到这种属性,因为它似乎是我想做的一件很基本的事情。

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

例如,IBOutlets的变量命名为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的值。

最新更新